Package org.jfree.ui

Class 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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
      • 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

      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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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 interface java.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.