org.formaria.swing.date
Class DateChooserPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.formaria.swing.date.DateChooserPanel
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class DateChooserPanel
extends javax.swing.JComponent
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

A date chooser class. This class is used by the DateChooser class to display a month of the calendar. A date can then be selected visually.

Copyright (c) Formaria Ltd., 2008, This software is licensed under the GNU Public License (GPL), please see license.txt for more details. If you make commercial use of this software you must purchase a commercial license from Formaria.

$Revision: 1.11 $

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.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
protected  int highlightedDay
           
protected  int selectedDay
           
protected  StyleManager styleManager
           
 
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
DateChooserPanel()
           
 
Method Summary
 void addDateListener(DateListener l)
          Adds an ActionListener to the button.
protected  void fireDateSelected(java.awt.event.MouseEvent e)
          Notifies all listeners that have registered interest for notification on this event type.
 java.util.Date getDate()
          Gets the current date.
 DateListener[] getDateListeners()
          Returns an array of all the DateListeners added to this component with addDateListener().
 java.lang.String getStyle()
          Get the style associated with the normal elements
 java.lang.String getStyleHighlighted()
          Get the style associated with the highlighted element
 java.lang.String getStyleSelected()
          Get the style associated with the selected elements
 java.lang.String getStyleWeekend()
          Get the style associated with the weekend element
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void next()
          Move to the next month
 void nextYear()
          Move to the next year
 void paint(java.awt.Graphics g)
          Renders the current month
 void prev()
          Move to the previous month
 void prevYear()
          Move to the previous year
 void removeDateListener(DateListener l)
          Removes an ActionListener from the button.
 void setDate(java.util.Date newDate)
          Sets the current date
 void setDayMarker(DayMarker dm)
          Set the day marker service
 void setDayNameStyle(int mode)
          Set the day name style
 void setMarkSelectedDay(boolean state)
          Show or ignore the selected day
 void setMaxDayNameLength(int len)
          Set the minimum length of the day names
 void setMinWeeks(int minWeeks)
          Set the minimum number of weeks to display
 void setSelectedDay(int day)
          Set the selected day
 void setShowDayNames(boolean state)
          Show or hide the day names
 void setStyle(java.lang.String newStyle)
          set the style associated with the normal elements
 void setStyleHighlighted(java.lang.String newStyle)
          set the style associated with highlighted element
 void setStyles(java.lang.String[] styles)
          Set the styles for the date panel
 void setStyleSelected(java.lang.String newStyle)
          Get the style associated with the selected elements
 void setStyleWeekend(java.lang.String newStyle)
          set the style associated with weekend element
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
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, 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, 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, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, 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

styleManager

protected StyleManager styleManager

selectedDay

protected int selectedDay

highlightedDay

protected int highlightedDay
Constructor Detail

DateChooserPanel

public DateChooserPanel()
Method Detail

getDate

public java.util.Date getDate()
Gets the current date.

Returns:

setDate

public void setDate(java.util.Date newDate)
Sets the current date

Parameters:
newDate - the new date

prev

public void prev()
Move to the previous month


next

public void next()
Move to the next month


prevYear

public void prevYear()
Move to the previous year


nextYear

public void nextYear()
Move to the next year


paint

public void paint(java.awt.Graphics g)
Renders the current month

Overrides:
paint in class javax.swing.JComponent
Parameters:
g -

fireDateSelected

protected void fireDateSelected(java.awt.event.MouseEvent e)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the event parameter.

Parameters:
event - the ActionEvent object
See Also:
EventListenerList

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

addDateListener

public void addDateListener(DateListener l)
Adds an ActionListener to the button.

Parameters:
l - the ActionListener to be added

removeDateListener

public void removeDateListener(DateListener l)
Removes an ActionListener from the button. If the listener is the currently set Action for the button, then the Action is set to null.

Parameters:
l - the listener to be removed

getDateListeners

public DateListener[] getDateListeners()
Returns an array of all the DateListeners added to this component with addDateListener().

Returns:
all of the DateListeners added or an empty array if no listeners have been added

getStyleSelected

public java.lang.String getStyleSelected()
Get the style associated with the selected elements

Returns:
the style name

setStyleSelected

public void setStyleSelected(java.lang.String newStyle)
Get the style associated with the selected elements

Parameters:
newStyle - the style name

getStyleWeekend

public java.lang.String getStyleWeekend()
Get the style associated with the weekend element

Returns:
the style name

setStyleWeekend

public void setStyleWeekend(java.lang.String newStyle)
set the style associated with weekend element

Parameters:
newStyle - the style name

getStyleHighlighted

public java.lang.String getStyleHighlighted()
Get the style associated with the highlighted element

Returns:
the style name

setStyleHighlighted

public void setStyleHighlighted(java.lang.String newStyle)
set the style associated with highlighted element

Parameters:
newStyle - the style name

getStyle

public java.lang.String getStyle()
Get the style associated with the normal elements

Returns:
the style name

setStyle

public void setStyle(java.lang.String newStyle)
set the style associated with the normal elements

Parameters:
newStyle - the style name

setStyles

public void setStyles(java.lang.String[] styles)
Set the styles for the date panel

Parameters:
styles - the styles in the following order: style, selectedStyle, weekendStyle, highlightStyle, headerStyle, threeDStyle

setShowDayNames

public void setShowDayNames(boolean state)
Show or hide the day names

Parameters:
state - true to show the day names

setMinWeeks

public void setMinWeeks(int minWeeks)
Set the minimum number of weeks to display

Parameters:
minWeeks -

setMaxDayNameLength

public void setMaxDayNameLength(int len)
Set the minimum length of the day names

Parameters:
len - the length of the day names

setDayNameStyle

public void setDayNameStyle(int mode)
Set the day name style

Parameters:
mode - the day name mode

setSelectedDay

public void setSelectedDay(int day)
Set the selected day

Parameters:
day - the selected day

setDayMarker

public void setDayMarker(DayMarker dm)
Set the day marker service

Parameters:
dm -

setMarkSelectedDay

public void setMarkSelectedDay(boolean state)
Show or ignore the selected day

Parameters:
state -