com.toedter.calendar
Class JDayChooser

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.toedter.calendar.JDayChooser
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.io.Serializable

public class JDayChooser
extends javax.swing.JPanel
implements java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.FocusListener

JCalendar is a bean for choosing a day.

Version:
1.2.1
Author:
Kai Toedter
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.Calendar calendar
           
protected  int day
           
protected  java.lang.String[] dayNames
           
protected  javax.swing.JPanel dayPanel
           
protected  javax.swing.JButton[] days
           
protected  java.awt.Color decorationBackgroundColor
           
protected  boolean decorationBackgroundVisible
           
protected  boolean decorationBordersVisible
           
protected  boolean initialized
           
protected  java.util.Locale locale
           
protected  java.awt.Color oldDayBackgroundColor
           
protected  java.awt.Color selectedColor
           
protected  javax.swing.JButton selectedDay
           
protected  java.awt.Color sundayForeground
           
protected  java.util.Calendar today
           
protected  java.awt.Color weekdayForeground
           
protected  boolean weekOfYearVisible
           
protected  javax.swing.JPanel weekPanel
           
protected  javax.swing.JButton[] weeks
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
JDayChooser()
          Default JDayChooser constructor.
JDayChooser(boolean weekOfYearVisible)
          JDayChooser constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          JDayChooser is the ActionListener for all day buttons.
protected  void drawDays()
          Hides and shows the day buttons.
protected  void drawWeeks()
          Hides and shows the week buttons.
 void focusGained(java.awt.event.FocusEvent e)
          JDayChooser is the FocusListener for all day buttons.
 void focusLost(java.awt.event.FocusEvent e)
          Does nothing.
 int getDay()
          Returns the selected day.
 javax.swing.JPanel getDayPanel()
          Returns the day panel.
 java.awt.Color getDecorationBackgroundColor()
          Returns the color of the decoration (day names and weeks).
 java.util.Locale getLocale()
          Returns the locale.
 java.lang.String getName()
          Returns "JDayChooser".
 java.awt.Color getSundayForeground()
          Returns the Sunday foreground.
 java.awt.Color getWeekdayForeground()
          Returns the weekday foreground.
protected  void init()
          Initilizes the locale specific names for the days of the week.
protected  void initDecorations()
          Initializes both day names and weeks of the year.
 boolean isDecorationBackgroundVisible()
          The decoration background is the background color of the day titles and the weeks of the year.
 boolean isDecorationBordersVisible()
          The decoration border is the button border of the day titles and the weeks of the year.
 boolean isWeekOfYearVisible()
          In some Countries it is often usefull to know in which week of the year a date is.
 void keyPressed(java.awt.event.KeyEvent e)
          JDayChooser is the KeyListener for all day buttons.
 void keyReleased(java.awt.event.KeyEvent e)
          Does nothing.
 void keyTyped(java.awt.event.KeyEvent e)
          Does nothing.
static void main(java.lang.String[] s)
          Creates a JFrame with a JDayChooser inside and can be used for testing.
 void setAlwaysFireDayProperty(boolean alwaysFire)
          this is needed for JDateChooser.
 void setCalendar(java.util.Calendar calendar)
          Sets a specific calendar.
 void setDay(int d)
          Sets the day.
 void setDecorationBackgroundColor(java.awt.Color decorationBackgroundColor)
          Sets the background of days and weeks of year buttons.
 void setDecorationBackgroundVisible(boolean decorationBackgroundVisible)
          The decoration background is the background color of the day titles and the weeks of the year.
 void setDecorationBordersVisible(boolean decorationBordersVisible)
          The decoration border is the button border of the day titles and the weeks of the year.
 void setEnabled(boolean enabled)
          Enable or disable the JDayChooser.
 void setFocus()
          Requests that the selected day also have the focus.
 void setFont(java.awt.Font font)
          Sets the font property.
 void setForeground(java.awt.Color foreground)
          Sets the foregroundColor color.
 void setLocale(java.util.Locale locale)
          Sets the locale.
 void setMonth(int month)
          Sets a specific month.
 void setSundayForeground(java.awt.Color sundayForeground)
          Sets the Sunday foreground.
 void setWeekdayForeground(java.awt.Color weekdayForeground)
          Sets the weekday foreground.
 void setWeekOfYearVisible(boolean weekOfYearVisible)
          In some Countries it is often usefull to know in which week of the year a date is.
 void setYear(int year)
          Sets a specific year.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

days

protected javax.swing.JButton[] days

weeks

protected javax.swing.JButton[] weeks

selectedDay

protected javax.swing.JButton selectedDay

weekPanel

protected javax.swing.JPanel weekPanel

dayPanel

protected javax.swing.JPanel dayPanel

day

protected int day

oldDayBackgroundColor

protected java.awt.Color oldDayBackgroundColor

selectedColor

protected java.awt.Color selectedColor

sundayForeground

protected java.awt.Color sundayForeground

weekdayForeground

protected java.awt.Color weekdayForeground

decorationBackgroundColor

protected java.awt.Color decorationBackgroundColor

dayNames

protected java.lang.String[] dayNames

calendar

protected java.util.Calendar calendar

today

protected java.util.Calendar today

locale

protected java.util.Locale locale

initialized

protected boolean initialized

weekOfYearVisible

protected boolean weekOfYearVisible

decorationBackgroundVisible

protected boolean decorationBackgroundVisible

decorationBordersVisible

protected boolean decorationBordersVisible
Constructor Detail

JDayChooser

public JDayChooser()
Default JDayChooser constructor.


JDayChooser

public JDayChooser(boolean weekOfYearVisible)
JDayChooser constructor.

Parameters:
weekOfYearVisible - true, if the weeks of a year shall be shown
Method Detail

init

protected void init()
Initilizes the locale specific names for the days of the week.


initDecorations

protected void initDecorations()
Initializes both day names and weeks of the year.


drawWeeks

protected void drawWeeks()
Hides and shows the week buttons.


drawDays

protected void drawDays()
Hides and shows the day buttons.


getLocale

public java.util.Locale getLocale()
Returns the locale.

Returns:
the locale value
See Also:
setLocale(java.util.Locale)

setLocale

public void setLocale(java.util.Locale locale)
Sets the locale.

Parameters:
locale - the new locale value
See Also:
getLocale()

setDay

public void setDay(int d)
Sets the day. This is a bound property.

Parameters:
d - the day
See Also:
getDay()

setAlwaysFireDayProperty

public void setAlwaysFireDayProperty(boolean alwaysFire)
this is needed for JDateChooser.

Parameters:
alwaysFire - true, if day property shall be fired every time a day is chosen.

getDay

public int getDay()
Returns the selected day.

Returns:
the day value
See Also:
setDay(int)

setMonth

public void setMonth(int month)
Sets a specific month. This is needed for correct graphical representation of the days.

Parameters:
month - the new month

setYear

public void setYear(int year)
Sets a specific year. This is needed for correct graphical representation of the days.

Parameters:
year - the new year

setCalendar

public void setCalendar(java.util.Calendar calendar)
Sets a specific calendar. This is needed for correct graphical representation of the days.

Parameters:
calendar - the new calendar

setFont

public void setFont(java.awt.Font font)
Sets the font property.

Parameters:
font - the new font

setForeground

public void setForeground(java.awt.Color foreground)
Sets the foregroundColor color.

Parameters:
foreground - the new foregroundColor

getName

public java.lang.String getName()
Returns "JDayChooser".

Returns:
the name value

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
JDayChooser is the ActionListener for all day buttons.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the ActionEvent

focusGained

public void focusGained(java.awt.event.FocusEvent e)
JDayChooser is the FocusListener for all day buttons. (Added by Thomas Schaefer)

Specified by:
focusGained in interface java.awt.event.FocusListener
Parameters:
e - the FocusEvent

focusLost

public void focusLost(java.awt.event.FocusEvent e)
Does nothing.

Specified by:
focusLost in interface java.awt.event.FocusListener
Parameters:
e - the FocusEvent

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
JDayChooser is the KeyListener for all day buttons. (Added by Thomas Schaefer and modified by Austin Moore)

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - the KeyEvent

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Does nothing.

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - the KeyEvent

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Does nothing.

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - the KeyEvent

setEnabled

public void setEnabled(boolean enabled)
Enable or disable the JDayChooser.

Parameters:
enabled - The new enabled value

isWeekOfYearVisible

public boolean isWeekOfYearVisible()
In some Countries it is often usefull to know in which week of the year a date is.

Returns:
boolean true, if the weeks of the year is shown

setWeekOfYearVisible

public void setWeekOfYearVisible(boolean weekOfYearVisible)
In some Countries it is often usefull to know in which week of the year a date is.

Parameters:
weekOfYearVisible - true, if the weeks of the year shall be shown

getDayPanel

public javax.swing.JPanel getDayPanel()
Returns the day panel.

Returns:
the day panel

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 to set

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

setFocus

public void setFocus()
Requests that the selected day also have the focus.


isDecorationBackgroundVisible

public boolean isDecorationBackgroundVisible()
The decoration background is the background color of the day titles and the weeks of the year.

Returns:
Returns true, if the decoration background is painted.

setDecorationBackgroundVisible

public void setDecorationBackgroundVisible(boolean decorationBackgroundVisible)
The decoration background is the background color of the day titles and the weeks of the year.

Parameters:
decorationBackgroundVisible - true, if the decoration background shall be painted.

isDecorationBordersVisible

public boolean isDecorationBordersVisible()
The decoration border is the button border of the day titles and the weeks of the year.

Returns:
Returns true, if the decoration border is painted.

setDecorationBordersVisible

public void setDecorationBordersVisible(boolean decorationBordersVisible)
The decoration border is the button border of the day titles and the weeks of the year.

Parameters:
decorationBordersVisible - true, if the decoration border shall be painted.

main

public static void main(java.lang.String[] s)
Creates a JFrame with a JDayChooser inside and can be used for testing.

Parameters:
s - The command line arguments


Copyright © 1999 - 2004 Kai Toedter.