📄 datepanel.java
字号:
monthpanel.setRenderer(renderer); } /** * Registers ChangeListener to receive events. * * @param listener * The listener to register. */ public synchronized void addChangeListener( javax.swing.event.ChangeListener listener) { if (changeListenerList == null) { changeListenerList = new java.util.ArrayList(); } changeListenerList.add(listener); } /** * Removes ChangeListener from the list of listeners. * * @param listener * The listener to remove. */ public synchronized void removeChangeListener( javax.swing.event.ChangeListener listener) { if (changeListenerList != null) { changeListenerList.remove(listener); } } /** * Notifies all registered listeners about the event. * * @param event * The event to be fired */ private void fireChangeListenerStateChanged( javax.swing.event.ChangeEvent event) { java.util.ArrayList list; synchronized (this) { if (changeListenerList == null) { return; } list = (java.util.ArrayList) changeListenerList.clone(); } for (int i = 0; i < list.size(); i++) { ((javax.swing.event.ChangeListener) list.get(i)) .stateChanged(event); } } /** * Getter for property model. * * @return Value of property model. */ public DataModel getModel() { return monthpanel.getModel(); } /** * Setter for property model. * * @param model * New value of property model. */ public void setModel(DataModel model) { monthpanel.setModel(model); } /** * Getter for property firstDayOfWeek. * * @return Value of property firstDayOfWeek. */ public int getFirstDayOfWeek() { return monthpanel.getFirstDayOfWeek(); } /** * Setter for property firstDayOfWeek. * * @param firstDayOfWeek * New value of property firstDayOfWeek. */ public void setFirstDayOfWeek(int firstDayOfWeek) { if ((firstDayOfWeek == Calendar.MONDAY) || (firstDayOfWeek == Calendar.SUNDAY)) { if (monthpanel.getFirstDayOfWeek() == firstDayOfWeek) return; int old = monthpanel.getFirstDayOfWeek(); monthpanel.setFirstDayOfWeek(firstDayOfWeek); refreshSelection(); repaint(); firePropertyChange("firstDayOfWeek", old, firstDayOfWeek); } } /** * Refreshes the showing of this component. */ public void refresh() { monthpanel.refresh(); } /** * Getter for property headerRenderer. * * @return Value of property headerRenderer. */ public HeaderRenderer getHeaderRenderer() { return monthpanel.getHeaderRenderer(); } /** * Setter for property headerRenderer. * * @param headerRenderer * New value of property headerRenderer. */ public void setHeaderRenderer(HeaderRenderer headerRenderer) { monthpanel.setHeaderRenderer(headerRenderer); } /** * Getter for property value. * * @return Value of property value. */ public Object getValue() { return dateSelectionModel.getSelectedDate(); } /** * Setter for property value. * * @param value * New value of property value. */ public void setValue(Object value) { try { setDate(CalendarUtils.convertToDate(value)); } catch (ParseException e) { e.printStackTrace(); } } public void setValues(Object[] values) { dateSelectionModel.setSelectedDates(values); refreshSelection(); } /** * 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) { boolean[] old = monthpanel.getWorkingdays(); monthpanel.setWorkingdays(workingDays); this.workingDays = workingDays; firePropertyChange("workingDays", old, workingDays); } /** * Registers KeyListener to receive events. * * @param listener * The listener to register. */ public synchronized void addKeyListener(java.awt.event.KeyListener listener) { if (listenerList == null) { listenerList = new javax.swing.event.EventListenerList(); } listenerList.add(java.awt.event.KeyListener.class, listener); } /** * Removes KeyListener from the list of listeners. * * @param listener * The listener to remove. */ public synchronized void removeKeyListener( java.awt.event.KeyListener listener) { listenerList.remove(java.awt.event.KeyListener.class, listener); } /** * Notifies all registered listeners about the event. * * @param event * The event to be fired */ private void fireKeyListenerKeyTyped(java.awt.event.KeyEvent event) { if (listenerList == null) return; Object[] listeners = listenerList.getListenerList(); for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == java.awt.event.KeyListener.class) { ((java.awt.event.KeyListener) listeners[i + 1]).keyTyped(event); } } } /** * Notifies all registered listeners about the event. * * @param event * The event to be fired */ private void fireKeyListenerKeyPressed(java.awt.event.KeyEvent event) { if (listenerList == null) return; Object[] listeners = listenerList.getListenerList(); for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == java.awt.event.KeyListener.class) { ((java.awt.event.KeyListener) listeners[i + 1]) .keyPressed(event); } } } /** * Notifies all registered listeners about the event. * * @param event * The event to be fired */ private void fireKeyListenerKeyReleased(java.awt.event.KeyEvent event) { if (listenerList == null) return; Object[] listeners = listenerList.getListenerList(); for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == java.awt.event.KeyListener.class) { ((java.awt.event.KeyListener) listeners[i + 1]) .keyReleased(event); } } } /** * Enables or disables the component * * @param enabled * true for enabling */ public void setEnabled(boolean enabled) { monthpanel.setEnabled(enabled); monthscroller.setEnabled(enabled); yearscroller.setEnabled(enabled); super.setEnabled(enabled); repaint(); } /** * Getter for enabled property * * @return true if it's enabled */ public boolean isEnabled() { return monthpanel.isEnabled(); } /** * Returns a Object collection with the selected dates * * @return selected dates or null */ public Object[] getValues() { return dateSelectionModel.getSelectedDates(); } /** * Sets the selection mode * * @param mode * the new mode */ public void setSelectionMode(int mode) { int old = dateSelectionModel.getSelectionMode(); dateSelectionModel.setSelectionMode(mode); refreshSelection(); firePropertyChange("selectionMode", old, mode); } /** * Returns the current selection mode * * @return selection mode */ public int getSelectionMode() { return dateSelectionModel.getSelectionMode(); } /** * Registers ActionListener to receive events. * * @param listener * The listener to register. */ public synchronized void addActionListener( java.awt.event.ActionListener listener) { if (actionListenerList == null) { actionListenerList = new java.util.ArrayList(); } actionListenerList.add(listener); } /** * Removes ActionListener from the list of listeners. * * @param listener * The listener to remove. */ public synchronized void removeActionListener( java.awt.event.ActionListener listener) { if (actionListenerList != null) { actionListenerList.remove(listener); } } /** * Notifies all registered listeners about the event. * * @param event * The event to be fired */ private void fireActionListenerActionPerformed( java.awt.event.ActionEvent event) { java.util.ArrayList list; synchronized (this) { if (actionListenerList == null) return; list = (java.util.ArrayList) actionListenerList.clone(); } for (int i = 0; i < list.size(); i++) { ((java.awt.event.ActionListener) list.get(i)) .actionPerformed(event); } } /** * Registers MonthChangeListener to receive events. * * @param listener * The listener to register. */ public synchronized void addMonthChangeListener( net.sf.nachocalendar.event.MonthChangeListener listener) { if (listenerList == null) { listenerList = new javax.swing.event.EventListenerList(); } listenerList.add(net.sf.nachocalendar.event.MonthChangeListener.class, listener); } /** * Removes MonthChangeListener from the list of listeners. * * @param listener * The listener to remove. */ public synchronized void removeMonthChangeListener( net.sf.nachocalendar.event.MonthChangeListener listener) { listenerList.remove( net.sf.nachocalendar.event.MonthChangeListener.class, listener); } /** * 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); } } } private void refreshSelection() { DayPanel[] daypanels = monthpanel.getDaypanels(); for (int i = 0; i < daypanels.length; i++) { if (!daypanels[i].isEnabled()) { daypanels[i].setSelected(false); continue; } daypanels[i].setSelected(dateSelectionModel .isSelectedDate(daypanels[i].getDate())); } } /** * @return Returns the dateSelectionModel. */ public DateSelectionModel getDateSelectionModel() { return dateSelectionModel; } /** * @param dateSelectionModel The dateSelectionModel to set. */ public void setDateSelectionModel(DateSelectionModel dateSelectionModel) { if (dateSelectionModel != null) { this.dateSelectionModel = dateSelectionModel; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -