Package com.toedter.calendar
Class JCalendar
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.toedter.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.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 protected JDayChooser
dayChooser
the day chooserprotected java.util.Locale
locale
the localeprotected java.util.Date
maxSelectableDate
protected java.util.Date
minSelectableDate
protected JMonthChooser
monthChooser
the month chooserprotected boolean
weekOfYearVisible
indicates if weeks of year shall be visibleprotected 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
-
-
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 objectjava.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 objectjava.awt.Color
getSundayForeground()
Returns the Sunday foreground.java.awt.Color
getWeekdayForeground()
Returns the weekday foreground.JYearChooser
getYearChooser()
Gets the yearChooser attribute of the JCalendar objectboolean
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
-
-
-
-
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 datelocale
- 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 datemonthSpinner
- 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 localemonthSpinner
- 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 datelocale
- the localemonthSpinner
- false, if no month spinner should be usedweekOfYearVisible
- 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 classjava.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 interfacejava.beans.PropertyChangeListener
- Parameters:
evt
- the property change event
-
setBackground
public void setBackground(java.awt.Color bg)
Sets the background color.- Overrides:
setBackground
in classjavax.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 classjavax.swing.JComponent
- Parameters:
enabled
- the new enabled value
-
isEnabled
public boolean isEnabled()
Returns true, if enabled.- Overrides:
isEnabled
in classjava.awt.Component
- Returns:
- true, if enabled.
-
setFont
public void setFont(java.awt.Font font)
Sets the font property.- Overrides:
setFont
in classjavax.swing.JComponent
- Parameters:
font
- the new font
-
setForeground
public void setForeground(java.awt.Color fg)
Sets the foreground color.- Overrides:
setForeground
in classjavax.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 classjava.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.
-
-