📄 monthpanel.java
字号:
if (calendar.get(Calendar.MONTH) == showingmonth) { daypanels[i].setEnabled(true); } else daypanels[i].setEnabled(false); } if (select) { //if (compareDates(calendar.getTime(), d)) listSelectionModel.addSelectionInterval(i, i); } calendar.add(Calendar.DAY_OF_YEAR, 1); } // actualizo el titulo if (showtitle) { title.setText(months[showingmonth] + " " + showingyear); } // actualizo semanas if (showWeekNumber) { for (int i = 0; i < weeks.length; i++) { weeks[i].setValue(Integer.toString(week + i)); } } repaint(); fireChangeEvent(new ChangeEvent(this)); } /** * Refreshes the showing of this component. */ public void refresh() { for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { if (model != null) { paneles[i][j].setData(model.getData(paneles[i][j].getDate())); } } } repaint(); } /** * Returns the currently selected day. * @return selected Date */ public Date getDay() { return date; } /** * Returns a Object collection with the selected dates * @return selected dates or null */ public Object[] getDays() { /*if (listSelectionModel.isSelectionEmpty()) return null; Collection col = new ArrayList(); for (int i=0; i < daypanels.length; i++) { if (listSelectionModel.isSelectedIndex(i)) col.add(daypanels[i].getDate()); } return col.toArray();*/ return null; } /** * Event fired every date selection change. * @param e event fired */ protected void fireChangeEvent(ChangeEvent e) { Iterator it = changelisteners.iterator(); while (it.hasNext()) { ((ChangeListener) it.next()).stateChanged(e); } } /** * Getter for property model. * * @return Value of property model. */ public DataModel getModel() { return this.model; } /** * Setter for property model. * * @param model * New value of property model. */ public void setModel(DataModel model) { this.model = model; } /** * Getter for property renderer. * @return Value of property renderer. */ public DayRenderer getRenderer() { return renderer; } /** * Setter for property renderer. * @param renderer New value of property renderer. */ public void setRenderer(DayRenderer renderer) { this.renderer = renderer; for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { paneles[i][j].setRenderer(renderer); } } } /** * Getter for property headerRenderer. * @return Value of property headerRenderer. */ public HeaderRenderer getHeaderRenderer() { return this.headerRenderer; } /** * Setter for property headerRenderer. * @param headerRenderer New value of property headerRenderer. */ public void setHeaderRenderer(HeaderRenderer headerRenderer) { this.headerRenderer = headerRenderer; for (int i = 0; i < headers.length; i++) { headers[i].setRenderer(headerRenderer); } if (showWeekNumber) { for (int i = 0; i < weeks.length; i++) { weeks[i].setRenderer(headerRenderer); } } } /** * Getter for property workingdays. * @return Value of property workingdays. */ public boolean[] getWorkingdays() { return this.workingdays; } /** * Setter for property workingdays. * @param workingdays New value of property workingdays. */ public void setWorkingdays(boolean[] workingdays) { if (workingdays == null) return; this.workingdays = workingdays; for (int i = 0; i < paneles.length; i++) { for (int j = 0; j < paneles[i].length; j++) { paneles[i][j].setWorking(workingdays[dayorder[j + 1] - 1]); } } } private boolean compareDates(Date d1, Date d2) { check.setTime(d1); int year = check.get(Calendar.YEAR); int month = check.get(Calendar.MONTH); int day = check.get(Calendar.DAY_OF_MONTH); check.setTime(d2); if (day != check.get(Calendar.DAY_OF_MONTH)) { return false; } if (month != check.get(Calendar.MONTH)) { return false; } if (year != check.get(Calendar.YEAR)) { return false; } return true; } /** * Getter for property firstDayOfWeek. * @return Value of property firstDayOfWeek. */ public int getFirstDayOfWeek() { return calendar.getFirstDayOfWeek(); } /** * Setter for property firstDayOfWeek. * @param firstDayOfWeek New value of property firstDayOfWeek. */ public void setFirstDayOfWeek(int firstDayOfWeek) { if ((firstDayOfWeek == Calendar.MONDAY) || (firstDayOfWeek == Calendar.SUNDAY)) { calendar.setFirstDayOfWeek(firstDayOfWeek); check.setFirstDayOfWeek(firstDayOfWeek); if (firstDayOfWeek == Calendar.SUNDAY) { dayorder = SUNDAYFIRST; } else dayorder = MONDAYFIRST; setHeaders(); setMonth(getMonth()); } setWorkingdays(getWorkingdays()); } /** * @return Returns the defaultWorking. */ public static boolean[] getDefaultWorking() { return DEFAULTWORKING; } /** * Notifies all registered listeners about the event. * * @param event The event to be fired */ private void fireMonthChangeListenerMonthIncreased(net.sf.nachocalendar.event.MonthChangeEvent event) { if (listenerList == null) return; Object[] listeners = listenerList.getListenerList(); for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==net.sf.nachocalendar.event.MonthChangeListener.class) { ((net.sf.nachocalendar.event.MonthChangeListener)listeners[i+1]).monthIncreased(event); } } } /** * Notifies all registered listeners about the event. * * @param event The event to be fired */ private void fireMonthChangeListenerMonthDecreased(net.sf.nachocalendar.event.MonthChangeEvent event) { if (listenerList == null) return; Object[] listeners = listenerList.getListenerList(); for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==net.sf.nachocalendar.event.MonthChangeListener.class) { ((net.sf.nachocalendar.event.MonthChangeListener)listeners[i+1]).monthDecreased(event); } } } /** * Getter for property listSelectionModel. * @return Value of property listSelectionModel. */ /*public ListSelectionModel getListSelectionModel() { return this.listSelectionModel; }*/ /** * Setter for property listSelectionModel. * @param listSelectionModel New value of property listSelectionModel. */ /*public void setListSelectionModel(ListSelectionModel listSelectionModel) { this.listSelectionModel.removeListSelectionListener(listlistener); this.listSelectionModel = listSelectionModel; listSelectionModel.addListSelectionListener(listlistener); }*/ /** * Enables or disables the component * @param b true for enabling */ public void setEnabled(boolean b) { for (int i=0; i < daypanels.length; i++) { daypanels[i].setComponentEnabled(b); } } /** * Getter for enabled property * @return true if it's enabled */ public boolean isEnabled() { return daypanels[0].isComponentEnabled(); } /*public void clearSelection() { listSelectionModel.clearSelection(); }*/ /** * Sets the selection mode * @param mode the new mode */ /*public void setSelectionMode(int mode) { listSelectionModel.setSelectionMode(mode); }*/ /** * Returns the current selection mode * @return selection mode */ /*public int getSelectionMode() { return listSelectionModel.getSelectionMode(); }*/ /** * @return Returns the antiAliased. */ public boolean isAntiAliased() { return antiAliased; } /** * @param antiAliased The antiAliased to set. */ public void setAntiAliased(boolean antiAliased) { this.antiAliased = antiAliased; for (int i=0; i < daypanels.length; i++) { daypanels[i].setAntiAliased(antiAliased); } for (int i=0; i < headers.length; i++) { headers[i].setAntiAliased(antiAliased); } if (showWeekNumber) { for (int i=0; i < weeks.length; i++) { weeks[i].setAntiAliased(antiAliased); } } repaint(); } /** * @return Returns the daypanels. */ protected DayPanel[] getDaypanels() { return daypanels; } /** * @param daypanels The daypanels to set. */ protected void setDaypanels(DayPanel[] daypanels) { this.daypanels = daypanels; } public Date getMinDate() { Calendar cal = new GregorianCalendar(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, (cal.get(Calendar.DAY_OF_MONTH) * -1) + 1); return cal.getTime(); } public Date getMaxDate() { Calendar cal = new GregorianCalendar(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, (cal.get(Calendar.DAY_OF_MONTH) * -1) + 1); cal.add(Calendar.MONTH,1); cal.add(Calendar.DAY_OF_YEAR, -1); return cal.getTime(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -