Package org.jfree.ui
Class SerialDateChooserPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jfree.ui.SerialDateChooserPanel
-
- 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 SerialDateChooserPanel extends javax.swing.JPanel implements java.awt.event.ActionListener
A panel that allows the user to select a date.This class is incomplete and untested. You should not use it yet...
- 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[]
buttons
An array of buttons used to display the days-of-the-month.private java.awt.Color
chosenOtherButtonColor
The color for dates that are visible, but not in the current month.private SerialDate
date
The date selected in the panel.private java.awt.Color
dateButtonColor
The color for the selected date.private java.awt.Font
dateFont
The font used to display the date.static java.awt.Color
DEFAULT_DATE_BUTTON_COLOR
The default background color for the selected date.static java.awt.Color
DEFAULT_MONTH_BUTTON_COLOR
The default background color for the current month.private int
firstDayOfWeek
The first day-of-the-week.private java.awt.Color
monthButtonColor
The color for dates in the current month.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
yearSelectionRange
The range used for selecting years.private javax.swing.JComboBox
yearSelector
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
-
-
Constructor Summary
Constructors Constructor Description SerialDateChooserPanel()
Constructs a new date chooser panel, using today's date as the initial selection.SerialDateChooserPanel(SerialDate date, boolean controlPanel)
Constructs a new date chooser panel.SerialDateChooserPanel(SerialDate date, boolean controlPanel, java.awt.Color dateButtonColor, java.awt.Color monthButtonColor)
Constructs a new date chooser panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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).protected java.awt.Color
getButtonColor(SerialDate targetDate)
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.SerialDate
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).protected SerialDate
getFirstVisibleDate()
Returns the first date that is visible in the grid.private java.util.Vector
getYears(int chosenYear)
Returns a vector of years preceding and following the specified year.protected 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
setDate(SerialDate date)
Sets the date chosen in the panel.-
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
-
DEFAULT_DATE_BUTTON_COLOR
public static final java.awt.Color DEFAULT_DATE_BUTTON_COLOR
The default background color for the selected date.
-
DEFAULT_MONTH_BUTTON_COLOR
public static final java.awt.Color DEFAULT_MONTH_BUTTON_COLOR
The default background color for the current month.
-
date
private SerialDate date
The date selected in the panel.
-
dateButtonColor
private java.awt.Color dateButtonColor
The color for the selected date.
-
monthButtonColor
private java.awt.Color monthButtonColor
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.
-
-
Constructor Detail
-
SerialDateChooserPanel
public SerialDateChooserPanel()
Constructs a new date chooser panel, using today's date as the initial selection.
-
SerialDateChooserPanel
public SerialDateChooserPanel(SerialDate date, boolean controlPanel)
Constructs a new date chooser panel.- Parameters:
date
- the date.controlPanel
- a flag that indicates whether or not the 'today' button should appear on the panel.
-
SerialDateChooserPanel
public SerialDateChooserPanel(SerialDate date, boolean controlPanel, java.awt.Color dateButtonColor, java.awt.Color monthButtonColor)
Constructs a new date chooser panel.- Parameters:
date
- the date.controlPanel
- the control panel.dateButtonColor
- the date button color.monthButtonColor
- the month button color.
-
-
Method Detail
-
setDate
public void setDate(SerialDate date)
Sets the date chosen in the panel.- Parameters:
date
- the new date.
-
getDate
public SerialDate 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:
actionPerformed
in 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
protected java.awt.Color getButtonColor(SerialDate targetDate)
Returns the button color according to the specified date.- Parameters:
targetDate
- the target date.- Returns:
- the button color.
-
getFirstVisibleDate
protected SerialDate 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 first visible 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
protected 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.util.Vector 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 current 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.
-
-