Class JDayChooser
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
edu.wisc.ssec.mcidasv.data.dateChooser.JDayChooser
- All Implemented Interfaces:
ActionListener
,FocusListener
,KeyListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
JDayChooser is a bean for choosing a day.
- Version:
- $LastChangedRevision: 107 $, $LastChangedDate: 2009-05-01 15:48:00 +0200 (Fr, 01 Mai 2009) $
- Author:
- Kai Toedter
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
static final String
protected Calendar
protected int
protected boolean
protected String[]
protected JPanel
protected JButton[]
protected Color
protected boolean
protected boolean
protected Date
protected Date
static final String
protected boolean
protected Locale
protected int
protected Date
protected Date
protected Color
protected Color
protected JButton
private static final long
protected Color
protected Calendar
protected Color
protected boolean
protected JPanel
protected JButton[]
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
ConstructorsConstructorDescriptionDefault JDayChooser constructor.JDayChooser
(boolean weekOfYearVisible) JDayChooser constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
JDayChooser is the ActionListener for all day buttons.private void
Draws the day names of the day columnes.protected void
drawDays()
Hides and shows the day buttons.protected void
Hides and shows the week buttons.void
JDayChooser is the FocusListener for all day buttons.void
Does nothing.int
getDay()
Returns the selected day.Returns the day panel.Returns the color of the decoration (day names and weeks).Returns the locale.int
Gets the maximum number of characters of a day name or 0.Gets the maximum selectable date.Gets the minimum selectable date.int
getMonth()
Returns the selected month.Returns the Sunday foreground.Returns the weekday foreground.int
getYear()
Returns the selected year.protected void
init()
Initilizes the locale specific names for the days of the week.protected void
Initializes both day names and weeks of the year.boolean
boolean
The decoration background is the background color of the day titles and the weeks of the year.boolean
The decoration border is the button border of the day titles and the weeks of the year.boolean
In some Countries it is often usefull to know in which week of the year a date is.void
JDayChooser is the KeyListener for all day buttons.void
Does nothing.void
Does nothing.static void
Creates a JFrame with a JDayChooser inside and can be used for testing.void
setAlwaysFireDayProperty
(boolean alwaysFire) this is needed for JDateChooser.void
setCalendar
(Calendar calendar) Sets a specific calendar.void
setDay
(int d) Sets the day.void
setDayBordersVisible
(boolean dayBordersVisible) void
setDecorationBackgroundColor
(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
Sets the font property.void
setForeground
(Color foreground) Sets the foregroundColor color.void
Sets the locale.void
setMaxDayCharacters
(int maxDayCharacters) Sets the maximum number of characters per day in the day bar.setMaxSelectableDate
(Date max) Sets the maximum selectable date.setMinSelectableDate
(Date min) Sets the minimum selectable date.void
setMonth
(int month) Sets a specific month.void
setSelectableDateRange
(Date min, Date max) Sets a valid date range for selectable dates.void
setSundayForeground
(Color sundayForeground) Sets the Sunday foreground.void
setWeekdayForeground
(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.void
updateUI()
Updates the UI and sets the day button preferences.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
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, 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, 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, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
serialVersionUID
- See Also:
-
BEG_DAY
- See Also:
-
END_DAY
- See Also:
-
days
-
weeks
-
selectedDay
-
weekPanel
-
dayPanel
-
day
-
oldDayBackgroundColor
-
selectedColor
-
sundayForeground
-
weekdayForeground
-
decorationBackgroundColor
-
dayNames
-
calendar
-
today
-
locale
-
initialized
-
weekOfYearVisible
-
decorationBackgroundVisible
-
decorationBordersVisible
-
dayBordersVisible
-
alwaysFireDayProperty
-
minSelectableDate
-
maxSelectableDate
-
defaultMinSelectableDate
-
defaultMaxSelectableDate
-
maxDayCharacters
-
-
Constructor Details
-
JDayChooser
public JDayChooser()Default JDayChooser constructor. -
JDayChooser
JDayChooser constructor.- Parameters:
weekOfYearVisible
- true, if the weeks of a year shall be shown
-
-
Method Details
-
init
Initilizes the locale specific names for the days of the week. -
drawDayNames
Draws the day names of the day columnes. -
initDecorations
Initializes both day names and weeks of the year. -
drawWeeks
Hides and shows the week buttons. -
drawDays
Hides and shows the day buttons. -
getLocale
Returns the locale. -
setLocale
Sets the locale. -
setDay
Sets the day. This is a bound property.- Parameters:
d
- the day- See Also:
-
setAlwaysFireDayProperty
this is needed for JDateChooser.- Parameters:
alwaysFire
- true, if day property shall be fired every time a day is chosen.
-
getDay
Returns the selected day.- Returns:
- the day value
- See Also:
-
getMonth
Returns the selected month.- Returns:
- the month value
- See Also:
-
getYear
Returns the selected year.- Returns:
- the year value
- See Also:
-
setMonth
Sets a specific month. This is needed for correct graphical representation of the days.- Parameters:
month
- the new month
-
setYear
Sets a specific year. This is needed for correct graphical representation of the days.- Parameters:
year
- the new year
-
setCalendar
Sets a specific calendar. This is needed for correct graphical representation of the days.- Parameters:
calendar
- the new calendar
-
setFont
Sets the font property.- Overrides:
setFont
in classJComponent
- Parameters:
font
- the new font
-
setForeground
Sets the foregroundColor color.- Overrides:
setForeground
in classJComponent
- Parameters:
foreground
- the new foregroundColor
-
actionPerformed
JDayChooser is the ActionListener for all day buttons.- Specified by:
actionPerformed
in interfaceActionListener
- Parameters:
e
- the ActionEvent
-
focusGained
JDayChooser is the FocusListener for all day buttons. (Added by Thomas Schaefer)- Specified by:
focusGained
in interfaceFocusListener
- Parameters:
e
- the FocusEvent
-
focusLost
Does nothing.- Specified by:
focusLost
in interfaceFocusListener
- Parameters:
e
- the FocusEvent
-
keyPressed
JDayChooser is the KeyListener for all day buttons. (Added by Thomas Schaefer and modified by Austin Moore)- Specified by:
keyPressed
in interfaceKeyListener
- Parameters:
e
- the KeyEvent
-
keyTyped
Does nothing.- Specified by:
keyTyped
in interfaceKeyListener
- Parameters:
e
- the KeyEvent
-
keyReleased
Does nothing.- Specified by:
keyReleased
in interfaceKeyListener
- Parameters:
e
- the KeyEvent
-
setEnabled
Enable or disable the JDayChooser.- Overrides:
setEnabled
in classJComponent
- Parameters:
enabled
- The new enabled value
-
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
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
Returns the day panel.- Returns:
- the day panel
-
getDecorationBackgroundColor
Returns the color of the decoration (day names and weeks).- Returns:
- the color of the decoration (day names and weeks).
-
setDecorationBackgroundColor
Sets the background of days and weeks of year buttons.- Parameters:
decorationBackgroundColor
- The background to set
-
getSundayForeground
Returns the Sunday foreground.- Returns:
- Color the Sunday foreground.
-
getWeekdayForeground
Returns the weekday foreground.- Returns:
- Color the weekday foreground.
-
setSundayForeground
Sets the Sunday foreground.- Parameters:
sundayForeground
- The sundayForeground to set
-
setWeekdayForeground
Sets the weekday foreground.- Parameters:
weekdayForeground
- The weekdayForeground to set
-
setFocus
Requests that the selected day also have the focus. -
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
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
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.
-
isDayBordersVisible
-
setDecorationBordersVisible
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.
-
setDayBordersVisible
-
updateUI
Updates the UI and sets the day button preferences. -
setSelectableDateRange
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)
-
setMaxSelectableDate
Sets the maximum selectable date. If null, the date 01\01\9999 will be set instead.- Parameters:
max
- the maximum selectable date- Returns:
- the maximum selectable date
-
setMinSelectableDate
Sets the minimum selectable date. If null, the date 01\01\0001 will be set instead.- Parameters:
min
- the minimum selectable date- Returns:
- the minimum selectable date
-
getMaxSelectableDate
Gets the maximum selectable date.- Returns:
- the maximum selectable date
-
getMinSelectableDate
Gets the minimum selectable date.- Returns:
- the minimum selectable date
-
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
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
Creates a JFrame with a JDayChooser inside and can be used for testing.- Parameters:
s
- The command line arguments
-