Class JCalendar

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

    public class JCalendar
    extends javax.swing.JPanel
    implements java.beans.PropertyChangeListener
    JCalendar is a bean for entering a date by choosing the year, month and day.
    Version:
    $LastChangedRevision: 95 $, $LastChangedDate: 2006-05-05 18:43:15 +0200 (Fr, 05 Mai 2006) $
    Author:
    Kai Toedter
    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
      protected JDayChooser dayChooser
      the day chooser
      protected java.util.Locale locale
      the locale
      protected java.util.Date maxSelectableDate  
      protected java.util.Date minSelectableDate  
      protected JMonthChooser monthChooser
      the month chooser
      protected boolean weekOfYearVisible
      indicates if weeks of year shall be visible
      protected JYearChooser yearChooser
      the year chhoser
      • 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
      JCalendar()
      Default JCalendar constructor.
      JCalendar​(boolean monthSpinner)
      JCalendar constructor specifying the month spinner type.
      JCalendar​(java.util.Calendar calendar)
      JCalendar constructor which allows the initial calendar to be set.
      JCalendar​(java.util.Date date)
      JCalendar constructor which allows the initial date to be set.
      JCalendar​(java.util.Date date, boolean monthSpinner)
      JCalendar constructor specifying both the initial date and the month spinner type.
      JCalendar​(java.util.Date date, java.util.Locale locale)
      JCalendar constructor specifying both the initial date and locale.
      JCalendar​(java.util.Date date, java.util.Locale locale, boolean monthSpinner, boolean weekOfYearVisible)
      JCalendar constructor with month spinner parameter.
      JCalendar​(java.util.Locale locale)
      JCalendar constructor allowing the initial locale to be set.
      JCalendar​(java.util.Locale locale, boolean monthSpinner)
      JCalendar constructor specifying both the locale and the month spinner.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Calendar getCalendar()
      Returns the calendar property.
      java.util.Date getDate()
      Returns a Date object.
      JDayChooser getDayChooser()
      Gets the dayChooser attribute of the JCalendar object
      java.awt.Color getDecorationBackgroundColor()
      Returns the color of the decoration (day names and weeks).
      java.util.Locale getLocale()
      Returns the locale.
      int getMaxDayCharacters()
      Gets the maximum number of characters of a day name or 0.
      java.util.Date getMaxSelectableDate()
      Gets the minimum selectable date.
      java.util.Date getMinSelectableDate()
      Gets the maximum selectable date.
      JMonthChooser getMonthChooser()
      Gets the monthChooser attribute of the JCalendar object
      java.awt.Color getSundayForeground()
      Returns the Sunday foreground.
      java.awt.Color getWeekdayForeground()
      Returns the weekday foreground.
      JYearChooser getYearChooser()
      Gets the yearChooser attribute of the JCalendar object
      boolean isDecorationBackgroundVisible()
      Gets the visibility of the decoration background.
      boolean isDecorationBordersVisible()
      Gets the visibility of the decoration border.
      boolean isEnabled()
      Returns true, if enabled.
      boolean isWeekOfYearVisible()
      Indicates if the weeks of year are visible..
      static void main​(java.lang.String[] s)
      Creates a JFrame with a JCalendar inside and can be used for testing.
      void propertyChange​(java.beans.PropertyChangeEvent evt)
      JCalendar is a PropertyChangeListener, for its day, month and year chooser.
      void setBackground​(java.awt.Color bg)
      Sets the background color.
      void setCalendar​(java.util.Calendar c)
      Sets the calendar property.
      void setDate​(java.util.Date date)
      Sets the date.
      void setDecorationBackgroundColor​(java.awt.Color decorationBackgroundColor)
      Sets the background of days and weeks of year buttons.
      void setDecorationBackgroundVisible​(boolean decorationBackgroundVisible)
      Sets the decoration background visible.
      void setDecorationBordersVisible​(boolean decorationBordersVisible)
      Sets the decoration borders visible.
      void setEnabled​(boolean enabled)
      Enable or disable the JCalendar.
      void setFont​(java.awt.Font font)
      Sets the font property.
      void setForeground​(java.awt.Color fg)
      Sets the foreground color.
      void setLocale​(java.util.Locale l)
      Sets the locale property.
      void setMaxDayCharacters​(int maxDayCharacters)
      Sets the maximum number of characters per day in the day bar.
      void setMaxSelectableDate​(java.util.Date max)
      Sets the maximum selectable date.
      void setMinSelectableDate​(java.util.Date min)
      Sets the minimum selectable date.
      void setSelectableDateRange​(java.util.Date min, java.util.Date max)
      Sets a valid date range for selectable dates.
      void setSundayForeground​(java.awt.Color sundayForeground)
      Sets the Sunday foreground.
      void setWeekdayForeground​(java.awt.Color weekdayForeground)
      Sets the weekday foreground.
      void setWeekOfYearVisible​(boolean weekOfYearVisible)
      Sets the week of year visible.
      • 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, 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, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, 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

      • dayChooser

        protected JDayChooser dayChooser
        the day chooser
      • weekOfYearVisible

        protected boolean weekOfYearVisible
        indicates if weeks of year shall be visible
      • locale

        protected java.util.Locale locale
        the locale
      • monthChooser

        protected JMonthChooser monthChooser
        the month chooser
      • yearChooser

        protected JYearChooser yearChooser
        the year chhoser
      • minSelectableDate

        protected java.util.Date minSelectableDate
      • maxSelectableDate

        protected java.util.Date maxSelectableDate
    • Constructor Detail

      • JCalendar

        public JCalendar()
        Default JCalendar constructor.
      • JCalendar

        public JCalendar​(java.util.Date date)
        JCalendar constructor which allows the initial date to be set.
        Parameters:
        date - the date
      • JCalendar

        public JCalendar​(java.util.Calendar calendar)
        JCalendar constructor which allows the initial calendar to be set.
        Parameters:
        calendar - the calendar
      • JCalendar

        public JCalendar​(java.util.Locale locale)
        JCalendar constructor allowing the initial locale to be set.
        Parameters:
        locale - the new locale
      • JCalendar

        public JCalendar​(java.util.Date date,
                         java.util.Locale locale)
        JCalendar constructor specifying both the initial date and locale.
        Parameters:
        date - the date
        locale - the new locale
      • JCalendar

        public JCalendar​(java.util.Date date,
                         boolean monthSpinner)
        JCalendar constructor specifying both the initial date and the month spinner type.
        Parameters:
        date - the date
        monthSpinner - false, if no month spinner should be used
      • JCalendar

        public JCalendar​(java.util.Locale locale,
                         boolean monthSpinner)
        JCalendar constructor specifying both the locale and the month spinner.
        Parameters:
        locale - the locale
        monthSpinner - false, if no month spinner should be used
      • JCalendar

        public JCalendar​(boolean monthSpinner)
        JCalendar constructor specifying the month spinner type.
        Parameters:
        monthSpinner - false, if no month spinner should be used
      • JCalendar

        public JCalendar​(java.util.Date date,
                         java.util.Locale locale,
                         boolean monthSpinner,
                         boolean weekOfYearVisible)
        JCalendar constructor with month spinner parameter.
        Parameters:
        date - the date
        locale - the locale
        monthSpinner - false, if no month spinner should be used
        weekOfYearVisible - true, if weeks of year shall be visible
    • Method Detail

      • main

        public static void main​(java.lang.String[] s)
        Creates a JFrame with a JCalendar inside and can be used for testing.
        Parameters:
        s - The command line arguments
      • getCalendar

        public java.util.Calendar getCalendar()
        Returns the calendar property.
        Returns:
        the value of the calendar property.
      • getDayChooser

        public JDayChooser getDayChooser()
        Gets the dayChooser attribute of the JCalendar object
        Returns:
        the dayChooser value
      • getLocale

        public java.util.Locale getLocale()
        Returns the locale.
        Overrides:
        getLocale in class java.awt.Component
        Returns:
        the value of the locale property.
        See Also:
        setLocale(java.util.Locale)
      • getMonthChooser

        public JMonthChooser getMonthChooser()
        Gets the monthChooser attribute of the JCalendar object
        Returns:
        the monthChooser value
      • getYearChooser

        public JYearChooser getYearChooser()
        Gets the yearChooser attribute of the JCalendar object
        Returns:
        the yearChooser value
      • isWeekOfYearVisible

        public boolean isWeekOfYearVisible()
        Indicates if the weeks of year are visible..
        Returns:
        boolean true, if weeks of year are visible
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent evt)
        JCalendar is a PropertyChangeListener, for its day, month and year chooser.
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
        Parameters:
        evt - the property change event
      • setBackground

        public void setBackground​(java.awt.Color bg)
        Sets the background color.
        Overrides:
        setBackground in class javax.swing.JComponent
        Parameters:
        bg - the new background
      • setCalendar

        public void setCalendar​(java.util.Calendar c)
        Sets the calendar property. This is a bound property.
        Parameters:
        c - the new calendar
        Throws:
        java.lang.NullPointerException - - if c is null;
        See Also:
        getCalendar()
      • setEnabled

        public void setEnabled​(boolean enabled)
        Enable or disable the JCalendar.
        Overrides:
        setEnabled in class javax.swing.JComponent
        Parameters:
        enabled - the new enabled value
      • isEnabled

        public boolean isEnabled()
        Returns true, if enabled.
        Overrides:
        isEnabled in class java.awt.Component
        Returns:
        true, if enabled.
      • setFont

        public void setFont​(java.awt.Font font)
        Sets the font property.
        Overrides:
        setFont in class javax.swing.JComponent
        Parameters:
        font - the new font
      • setForeground

        public void setForeground​(java.awt.Color fg)
        Sets the foreground color.
        Overrides:
        setForeground in class javax.swing.JComponent
        Parameters:
        fg - the new foreground
      • setLocale

        public void setLocale​(java.util.Locale l)
        Sets the locale property. This is a bound property.
        Overrides:
        setLocale in class java.awt.Component
        Parameters:
        l - the new locale value
        See Also:
        getLocale()
      • setWeekOfYearVisible

        public void setWeekOfYearVisible​(boolean weekOfYearVisible)
        Sets the week of year visible.
        Parameters:
        weekOfYearVisible - true, if weeks of year shall be visible
      • isDecorationBackgroundVisible

        public boolean isDecorationBackgroundVisible()
        Gets the visibility of the decoration background.
        Returns:
        true, if the decoration background is visible.
      • setDecorationBackgroundVisible

        public void setDecorationBackgroundVisible​(boolean decorationBackgroundVisible)
        Sets the decoration background visible.
        Parameters:
        decorationBackgroundVisible - true, if the decoration background should be visible.
      • isDecorationBordersVisible

        public boolean isDecorationBordersVisible()
        Gets the visibility of the decoration border.
        Returns:
        true, if the decoration border is visible.
      • setDecorationBordersVisible

        public void setDecorationBordersVisible​(boolean decorationBordersVisible)
        Sets the decoration borders visible.
        Parameters:
        decorationBordersVisible - true, if the decoration borders should be visible.
      • getDecorationBackgroundColor

        public java.awt.Color getDecorationBackgroundColor()
        Returns the color of the decoration (day names and weeks).
        Returns:
        the color of the decoration (day names and weeks).
      • setDecorationBackgroundColor

        public void setDecorationBackgroundColor​(java.awt.Color decorationBackgroundColor)
        Sets the background of days and weeks of year buttons.
        Parameters:
        decorationBackgroundColor - the background color
      • getSundayForeground

        public java.awt.Color getSundayForeground()
        Returns the Sunday foreground.
        Returns:
        Color the Sunday foreground.
      • getWeekdayForeground

        public java.awt.Color getWeekdayForeground()
        Returns the weekday foreground.
        Returns:
        Color the weekday foreground.
      • setSundayForeground

        public void setSundayForeground​(java.awt.Color sundayForeground)
        Sets the Sunday foreground.
        Parameters:
        sundayForeground - the sundayForeground to set
      • setWeekdayForeground

        public void setWeekdayForeground​(java.awt.Color weekdayForeground)
        Sets the weekday foreground.
        Parameters:
        weekdayForeground - the weekdayForeground to set
      • getDate

        public java.util.Date getDate()
        Returns a Date object.
        Returns:
        a date object constructed from the calendar property.
      • setDate

        public void setDate​(java.util.Date date)
        Sets the date. Fires the property change "date".
        Parameters:
        date - the new date.
        Throws:
        java.lang.NullPointerException - - if tha date is null
      • setSelectableDateRange

        public void setSelectableDateRange​(java.util.Date min,
                                           java.util.Date max)
        Sets a valid date range for selectable dates. If max is before min, the default range with no limitation is set.
        Parameters:
        min - the minimum selectable date or null (then the minimum date is set to 01\01\0001)
        max - the maximum selectable date or null (then the maximum date is set to 01\01\9999)
      • getMaxSelectableDate

        public java.util.Date getMaxSelectableDate()
        Gets the minimum selectable date.
        Returns:
        the minimum selectable date
      • getMinSelectableDate

        public java.util.Date getMinSelectableDate()
        Gets the maximum selectable date.
        Returns:
        the maximum selectable date
      • setMaxSelectableDate

        public void setMaxSelectableDate​(java.util.Date max)
        Sets the maximum selectable date.
        Parameters:
        max - maximum selectable date
      • setMinSelectableDate

        public void setMinSelectableDate​(java.util.Date min)
        Sets the minimum selectable date.
        Parameters:
        min - minimum selectable date
      • getMaxDayCharacters

        public int getMaxDayCharacters()
        Gets the maximum number of characters of a day name or 0. If 0 is returned, dateFormatSymbols.getShortWeekdays() will be used.
        Returns:
        the maximum number of characters of a day name or 0.
      • setMaxDayCharacters

        public void setMaxDayCharacters​(int maxDayCharacters)
        Sets the maximum number of characters per day in the day bar. Valid values are 0-4. If set to 0, dateFormatSymbols.getShortWeekdays() will be used, otherwise theses strings will be reduced to the maximum number of characters.
        Parameters:
        maxDayCharacters - the maximum number of characters of a day name.