gui.dialogs.calendar
Class JCalendar

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by gui.dialogs.calendar.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.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
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
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
 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, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, 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, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

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.

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