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:
ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
A panel that allows the user to select a date.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JButton[]
An array of buttons used to display the days-of-the-month.private Calendar
The date selected in the panel.private Color
The color for the selected date.private Color
The color for dates in the current month.private Color
The color for dates that are visible, but not in the current month.private Font
The font used to display the date.private int
The first day-of-the-week.private JComboBox
A combo for selecting the month.private boolean
A flag that indicates whether or not we are currently refreshing the buttons.private JButton
A button for selecting today's date.private int[]
The ordered set of all seven days of a week, beginning with the 'firstDayOfWeek'.private int
The range used for selecting years.private JComboBox
A 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
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new date chooser panel, using today's date as the initial selection.DateChooserPanel
(Calendar calendar, boolean controlPanel) Constructs a new date chooser panel. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Handles action-events from the date panel.private JPanel
Returns a panel that appears at the bottom of the calendar panel - contains a button for selecting today's date.private JPanel
Constructs a panel containing two JComboBoxes (for the month and year) and a button (to reset the date to TODAY).private boolean
equalDates
(Calendar c1, Calendar c2) Returns true if the two dates are equal (time of day is ignored).private Color
getButtonColor
(Calendar theDate) Returns the button color according to the specified date.private JPanel
Returns a panel of buttons, each button representing a day in the month.Returns the color for the currently selected date.Returns the color for the buttons representing the current month.Returns the color for the buttons representing the other months.getDate()
Returns the date selected in the panel.private int
Returns the first day of the week (controls the labels in the date panel).private Calendar
Returns the first date that is visible in the grid.private Integer[]
getYears
(int chosenYear) Returns a vector of years preceding and following the specified year.int
Returns the range of years available for selection (defaults to 20).private void
Update the button labels and colors to reflect date selection.private void
Changes the contents of the year selection JComboBox to reflect the chosen date and the year range.void
setChosenDateButtonColor
(Color chosenDateButtonColor) Redefines the color for the currently selected date.void
setChosenMonthButtonColor
(Color chosenMonthButtonColor) Defines the color for the buttons representing the current month.void
setChosenOtherButtonColor
(Color chosenOtherButtonColor) Redefines the color for the buttons representing the other months.void
Sets the date chosen in the panel.void
setYearSelectionRange
(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 Details
-
chosenDate
The date selected in the panel. -
chosenDateButtonColor
The color for the selected date. -
chosenMonthButtonColor
The color for dates in the current month. -
chosenOtherButtonColor
The color for dates that are visible, but not in the current month. -
firstDayOfWeek
private int firstDayOfWeekThe first day-of-the-week. -
yearSelectionRange
private int yearSelectionRangeThe range used for selecting years. -
dateFont
The font used to display the date. -
monthSelector
A combo for selecting the month. -
yearSelector
A combo for selecting the year. -
todayButton
A button for selecting today's date. -
buttons
An array of buttons used to display the days-of-the-month. -
refreshing
private boolean refreshingA flag that indicates whether or not we are currently refreshing the buttons. -
WEEK_DAYS
private int[] WEEK_DAYSThe ordered set of all seven days of a week, beginning with the 'firstDayOfWeek'.
-
-
Constructor Details
-
DateChooserPanel
public DateChooserPanel()Constructs a new date chooser panel, using today's date as the initial selection. -
DateChooserPanel
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 Details
-
setDate
Sets the date chosen in the panel.- Parameters:
theDate
- the new date.
-
getDate
Returns the date selected in the panel.- Returns:
- the selected date.
-
actionPerformed
Handles action-events from the date panel.- Specified by:
actionPerformed
in interfaceActionListener
- Parameters:
e
- information about the event that occurred.
-
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
Returns the button color according to the specified date.- Parameters:
theDate
- the date.- Returns:
- the color.
-
equalDates
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
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
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
Constructs a panel containing two JComboBoxes (for the month and year) and a button (to reset the date to TODAY).- Returns:
- the panel.
-
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
Returns the color for the currently selected date.- Returns:
- a color.
-
setChosenDateButtonColor
Redefines the color for the currently selected date.- Parameters:
chosenDateButtonColor
- the new color
-
getChosenMonthButtonColor
Returns the color for the buttons representing the current month.- Returns:
- the color for the current month.
-
setChosenMonthButtonColor
Defines the color for the buttons representing the current month.- Parameters:
chosenMonthButtonColor
- the color for the current month.
-
getChosenOtherButtonColor
Returns the color for the buttons representing the other months.- Returns:
- a color.
-
setChosenOtherButtonColor
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.
-