Package org.jfree.ui
Class DateChooserPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jfree.ui.DateChooserPanel
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
public class DateChooserPanel extends javax.swing.JPanel implements java.awt.event.ActionListenerA panel that allows the user to select a date.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JButton[]buttonsAn array of buttons used to display the days-of-the-month.private java.util.CalendarchosenDateThe date selected in the panel.private java.awt.ColorchosenDateButtonColorThe color for the selected date.private java.awt.ColorchosenMonthButtonColorThe color for dates in the current month.private java.awt.ColorchosenOtherButtonColorThe color for dates that are visible, but not in the current month.private java.awt.FontdateFontThe font used to display the date.private intfirstDayOfWeekThe first day-of-the-week.private javax.swing.JComboBoxmonthSelectorA combo for selecting the month.private booleanrefreshingA flag that indicates whether or not we are currently refreshing the buttons.private javax.swing.JButtontodayButtonA button for selecting today's date.private int[]WEEK_DAYSThe ordered set of all seven days of a week, beginning with the 'firstDayOfWeek'.private intyearSelectionRangeThe range used for selecting years.private javax.swing.JComboBoxyearSelectorA combo for selecting the year.-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description DateChooserPanel()Constructs a new date chooser panel, using today's date as the initial selection.DateChooserPanel(java.util.Calendar calendar, boolean controlPanel)Constructs a new date chooser panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)Handles action-events from the date panel.private javax.swing.JPanelconstructControlPanel()Returns a panel that appears at the bottom of the calendar panel - contains a button for selecting today's date.private javax.swing.JPanelconstructSelectionPanel()Constructs a panel containing two JComboBoxes (for the month and year) and a button (to reset the date to TODAY).private booleanequalDates(java.util.Calendar c1, java.util.Calendar c2)Returns true if the two dates are equal (time of day is ignored).private java.awt.ColorgetButtonColor(java.util.Calendar theDate)Returns the button color according to the specified date.private javax.swing.JPanelgetCalendarPanel()Returns a panel of buttons, each button representing a day in the month.java.awt.ColorgetChosenDateButtonColor()Returns the color for the currently selected date.java.awt.ColorgetChosenMonthButtonColor()Returns the color for the buttons representing the current month.java.awt.ColorgetChosenOtherButtonColor()Returns the color for the buttons representing the other months.java.util.DategetDate()Returns the date selected in the panel.private intgetFirstDayOfWeek()Returns the first day of the week (controls the labels in the date panel).private java.util.CalendargetFirstVisibleDate()Returns the first date that is visible in the grid.private java.lang.Integer[]getYears(int chosenYear)Returns a vector of years preceding and following the specified year.intgetYearSelectionRange()Returns the range of years available for selection (defaults to 20).private voidrefreshButtons()Update the button labels and colors to reflect date selection.private voidrefreshYearSelector()Changes the contents of the year selection JComboBox to reflect the chosen date and the year range.voidsetChosenDateButtonColor(java.awt.Color chosenDateButtonColor)Redefines the color for the currently selected date.voidsetChosenMonthButtonColor(java.awt.Color chosenMonthButtonColor)Defines the color for the buttons representing the current month.voidsetChosenOtherButtonColor(java.awt.Color chosenOtherButtonColor)Redefines the color for the buttons representing the other months.voidsetDate(java.util.Date theDate)Sets the date chosen in the panel.voidsetYearSelectionRange(int yearSelectionRange)Sets the range of years available for selection.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
chosenDate
private java.util.Calendar chosenDate
The date selected in the panel.
-
chosenDateButtonColor
private java.awt.Color chosenDateButtonColor
The color for the selected date.
-
chosenMonthButtonColor
private java.awt.Color chosenMonthButtonColor
The color for dates in the current month.
-
chosenOtherButtonColor
private java.awt.Color chosenOtherButtonColor
The color for dates that are visible, but not in the current month.
-
firstDayOfWeek
private int firstDayOfWeek
The first day-of-the-week.
-
yearSelectionRange
private int yearSelectionRange
The range used for selecting years.
-
dateFont
private java.awt.Font dateFont
The font used to display the date.
-
monthSelector
private javax.swing.JComboBox monthSelector
A combo for selecting the month.
-
yearSelector
private javax.swing.JComboBox yearSelector
A combo for selecting the year.
-
todayButton
private javax.swing.JButton todayButton
A button for selecting today's date.
-
buttons
private javax.swing.JButton[] buttons
An array of buttons used to display the days-of-the-month.
-
refreshing
private boolean refreshing
A flag that indicates whether or not we are currently refreshing the buttons.
-
WEEK_DAYS
private int[] WEEK_DAYS
The ordered set of all seven days of a week, beginning with the 'firstDayOfWeek'.
-
-
Constructor Detail
-
DateChooserPanel
public DateChooserPanel()
Constructs a new date chooser panel, using today's date as the initial selection.
-
DateChooserPanel
public DateChooserPanel(java.util.Calendar calendar, boolean controlPanel)Constructs a new date chooser panel.- Parameters:
calendar- the calendar controlling the date.controlPanel- a flag that indicates whether or not the 'today' button should appear on the panel.
-
-
Method Detail
-
setDate
public void setDate(java.util.Date theDate)
Sets the date chosen in the panel.- Parameters:
theDate- the new date.
-
getDate
public java.util.Date getDate()
Returns the date selected in the panel.- Returns:
- the selected date.
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Handles action-events from the date panel.- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener- Parameters:
e- information about the event that occurred.
-
getCalendarPanel
private javax.swing.JPanel getCalendarPanel()
Returns a panel of buttons, each button representing a day in the month. This is a sub-component of the DatePanel.- Returns:
- the panel.
-
getButtonColor
private java.awt.Color getButtonColor(java.util.Calendar theDate)
Returns the button color according to the specified date.- Parameters:
theDate- the date.- Returns:
- the color.
-
equalDates
private boolean equalDates(java.util.Calendar c1, java.util.Calendar c2)Returns true if the two dates are equal (time of day is ignored).- Parameters:
c1- the first date.c2- the second date.- Returns:
- boolean.
-
getFirstVisibleDate
private java.util.Calendar getFirstVisibleDate()
Returns the first date that is visible in the grid. This should always be in the month preceding the month of the selected date.- Returns:
- the date.
-
getFirstDayOfWeek
private int getFirstDayOfWeek()
Returns the first day of the week (controls the labels in the date panel).- Returns:
- the first day of the week.
-
refreshButtons
private void refreshButtons()
Update the button labels and colors to reflect date selection.
-
refreshYearSelector
private void refreshYearSelector()
Changes the contents of the year selection JComboBox to reflect the chosen date and the year range.
-
getYears
private java.lang.Integer[] getYears(int chosenYear)
Returns a vector of years preceding and following the specified year. The number of years preceding and following is determined by the yearSelectionRange attribute.- Parameters:
chosenYear- the selected year.- Returns:
- a vector of years.
-
constructSelectionPanel
private javax.swing.JPanel constructSelectionPanel()
Constructs a panel containing two JComboBoxes (for the month and year) and a button (to reset the date to TODAY).- Returns:
- the panel.
-
constructControlPanel
private javax.swing.JPanel constructControlPanel()
Returns a panel that appears at the bottom of the calendar panel - contains a button for selecting today's date.- Returns:
- the panel.
-
getChosenDateButtonColor
public java.awt.Color getChosenDateButtonColor()
Returns the color for the currently selected date.- Returns:
- a color.
-
setChosenDateButtonColor
public void setChosenDateButtonColor(java.awt.Color chosenDateButtonColor)
Redefines the color for the currently selected date.- Parameters:
chosenDateButtonColor- the new color
-
getChosenMonthButtonColor
public java.awt.Color getChosenMonthButtonColor()
Returns the color for the buttons representing the current month.- Returns:
- the color for the current month.
-
setChosenMonthButtonColor
public void setChosenMonthButtonColor(java.awt.Color chosenMonthButtonColor)
Defines the color for the buttons representing the current month.- Parameters:
chosenMonthButtonColor- the color for the current month.
-
getChosenOtherButtonColor
public java.awt.Color getChosenOtherButtonColor()
Returns the color for the buttons representing the other months.- Returns:
- a color.
-
setChosenOtherButtonColor
public void setChosenOtherButtonColor(java.awt.Color chosenOtherButtonColor)
Redefines the color for the buttons representing the other months.- Parameters:
chosenOtherButtonColor- a color.
-
getYearSelectionRange
public int getYearSelectionRange()
Returns the range of years available for selection (defaults to 20).- Returns:
- The range.
-
setYearSelectionRange
public void setYearSelectionRange(int yearSelectionRange)
Sets the range of years available for selection.- Parameters:
yearSelectionRange- the range.
-
-