📄 datepanel.java
字号:
dateSelectionModel.clearSelection(); if (e.isShiftDown()) { dateSelectionModel.addSelectionInterval( dateSelectionModel.getLeadSelectionDate(), navigation.getTime()); } else dateSelectionModel.addSelectionInterval(navigation .getTime(), navigation.getTime()); } else { if (e.isShiftDown()) { dateSelectionModel.addSelectionInterval( dateSelectionModel.getLeadSelectionDate(), navigation.getTime()); } else { if (dateSelectionModel.isSelectedDate(navigation .getTime())) { dateSelectionModel.removeSelectionInterval( navigation.getTime(), navigation .getTime()); } else dateSelectionModel.addSelectionInterval( navigation.getTime(), navigation .getTime()); } } dateSelectionModel.setLeadSelectionDate(navigation .getTime()); calendar.setTime(navigation.getTime()); monthpanel.repaint(); } fireKeyListenerKeyPressed(e); } public void keyReleased(KeyEvent e) { fireKeyListenerKeyReleased(e); } public void keyTyped(KeyEvent e) { fireKeyListenerKeyTyped(e); } }; today.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Calendar cal = Calendar.getInstance(); setDate(new Date()); /*monthscroller.setMonth(cal.get(Calendar.MONTH)); yearscroller.setYear(cal.get(Calendar.YEAR)); monthpanel.setMonth(new Date()); monthpanel.setDay(new Date());*/ } }); } private void updateMonth() { int month = calendar.get(Calendar.MONTH); calendar.add(Calendar.MONTH, monthscroller.getMonth() - month); monthpanel.setMonth(calendar.getTime()); refreshSelection(); } private void updateYear() { int year = calendar.get(Calendar.YEAR); calendar.add(Calendar.YEAR, yearscroller.getYear() - year); monthpanel.setMonth(calendar.getTime()); refreshSelection(); } /** * Sets the selected date. If the date is in other month, the month is also * changed. * * @param d * new date */ public void setDate(Date d) { calendar.setTime(d); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); if (year != yearscroller.getYear()) { yearscroller.setYear(year); } if (month != monthscroller.getMonth()) { monthscroller.setMonth(month); } monthpanel.setDay(d); dateSelectionModel.setSelectedDate(d); refreshSelection(); } /** * Returns the selected date. * * @return selected date */ public Date getDate() { return calendar.getTime(); } /** * Getter for property renderer. * * @return Value of property renderer. */ public DayRenderer getRenderer() { return monthpanel.getRenderer(); } /** * Setter for property renderer. * * @param renderer * New value of property renderer. */ public void setRenderer(DayRenderer renderer) { 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(); } } /** * Sets the selected Dates. * @param values values to set */ public void setValues(Object[] values) { dateSelectionModel.setSelectedDates(values); refreshSelection(); } /** * Getter for property workingDays. * * @return Value of property workingDays. */ public boolean[] getWorkingDays() { boolean[] retorno = new boolean[workingDays.length]; for (int i = 0; i < workingDays.length; i++) { retorno[i] = workingDays[i]; } return retorno; } /** * Setter for property workingDays. * * @param workingDays * New value of property workingDays. */ public void setWorkingDays(boolean[] workingDays) { if (workingDays == null) return; boolean[] old = monthpanel.getWorkingdays(); monthpanel.setWorkingdays(workingDays); for (int i = 0; i < workingDays.length && i < this.workingDays.length; i++) { this.workingDays[i] = workingDays[i]; } 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -