public class DateChooserPanel
extends javax.swing.JPanel
implements java.awt.event.ActionListener
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private javax.swing.JButton[] |
buttons
An array of buttons used to display the days-of-the-month.
|
private java.util.Calendar |
chosenDate
The date selected in the panel.
|
private java.awt.Color |
chosenDateButtonColor
The color for the selected date.
|
private java.awt.Color |
chosenMonthButtonColor
The color for dates in the current month.
|
private java.awt.Color |
chosenOtherButtonColor
The color for dates that are visible, but not in the current month.
|
private java.awt.Font |
dateFont
The font used to display the date.
|
private int |
firstDayOfWeek
The first day-of-the-week.
|
private javax.swing.JComboBox |
monthSelector
A combo for selecting the month.
|
private boolean |
refreshing
A flag that indicates whether or not we are currently refreshing the
buttons.
|
private javax.swing.JButton |
todayButton
A button for selecting today's date.
|
private int[] |
WEEK_DAYS
The ordered set of all seven days of a week,
beginning with the 'firstDayOfWeek'.
|
private int |
yearSelectionRange
The range used for selecting years.
|
private javax.swing.JComboBox |
yearSelector
A combo for selecting the year.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
Handles action-events from the date panel.
|
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.
|
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).
|
private boolean |
equalDates(java.util.Calendar c1,
java.util.Calendar c2)
Returns true if the two dates are equal (time of day is ignored).
|
private java.awt.Color |
getButtonColor(java.util.Calendar theDate)
Returns the button color according to the specified date.
|
private javax.swing.JPanel |
getCalendarPanel()
Returns a panel of buttons, each button representing a day in the month.
|
java.awt.Color |
getChosenDateButtonColor()
Returns the color for the currently selected date.
|
java.awt.Color |
getChosenMonthButtonColor()
Returns the color for the buttons representing the current month.
|
java.awt.Color |
getChosenOtherButtonColor()
Returns the color for the buttons representing the other months.
|
java.util.Date |
getDate()
Returns the date selected in the panel.
|
private int |
getFirstDayOfWeek()
Returns the first day of the week (controls the labels in the date
panel).
|
private java.util.Calendar |
getFirstVisibleDate()
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.
|
int |
getYearSelectionRange()
Returns the range of years available for selection (defaults to 20).
|
private void |
refreshButtons()
Update the button labels and colors to reflect date selection.
|
private void |
refreshYearSelector()
Changes the contents of the year selection JComboBox to reflect the
chosen date and the year range.
|
void |
setChosenDateButtonColor(java.awt.Color chosenDateButtonColor)
Redefines the color for the currently selected date.
|
void |
setChosenMonthButtonColor(java.awt.Color chosenMonthButtonColor)
Defines the color for the buttons representing the current month.
|
void |
setChosenOtherButtonColor(java.awt.Color chosenOtherButtonColor)
Redefines the color for the buttons representing the other months.
|
void |
setDate(java.util.Date theDate)
Sets the date chosen in the panel.
|
void |
setYearSelectionRange(int yearSelectionRange)
Sets the range of years available for selection.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private java.util.Calendar chosenDate
private java.awt.Color chosenDateButtonColor
private java.awt.Color chosenMonthButtonColor
private java.awt.Color chosenOtherButtonColor
private int firstDayOfWeek
private int yearSelectionRange
private java.awt.Font dateFont
private javax.swing.JComboBox monthSelector
private javax.swing.JComboBox yearSelector
private javax.swing.JButton todayButton
private javax.swing.JButton[] buttons
private boolean refreshing
private int[] WEEK_DAYS
public DateChooserPanel()
public DateChooserPanel(java.util.Calendar calendar, boolean controlPanel)
calendar
- the calendar controlling the date.controlPanel
- a flag that indicates whether or not the 'today'
button should appear on the panel.public void setDate(java.util.Date theDate)
theDate
- the new date.public java.util.Date getDate()
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
e
- information about the event that occurred.private javax.swing.JPanel getCalendarPanel()
private java.awt.Color getButtonColor(java.util.Calendar theDate)
theDate
- the date.private boolean equalDates(java.util.Calendar c1, java.util.Calendar c2)
c1
- the first date.c2
- the second date.private java.util.Calendar getFirstVisibleDate()
private int getFirstDayOfWeek()
private void refreshButtons()
private void refreshYearSelector()
private java.lang.Integer[] getYears(int chosenYear)
chosenYear
- the selected year.private javax.swing.JPanel constructSelectionPanel()
private javax.swing.JPanel constructControlPanel()
public java.awt.Color getChosenDateButtonColor()
public void setChosenDateButtonColor(java.awt.Color chosenDateButtonColor)
chosenDateButtonColor
- the new colorpublic java.awt.Color getChosenMonthButtonColor()
public void setChosenMonthButtonColor(java.awt.Color chosenMonthButtonColor)
chosenMonthButtonColor
- the color for the current month.public java.awt.Color getChosenOtherButtonColor()
public void setChosenOtherButtonColor(java.awt.Color chosenOtherButtonColor)
chosenOtherButtonColor
- a color.public int getYearSelectionRange()
public void setYearSelectionRange(int yearSelectionRange)
yearSelectionRange
- the range.