com.lamatek.swingextras
Class JDateChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.lamatek.swingextras.JDateChooser
All Implemented Interfaces:
DaySelectionListener, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class JDateChooser
extends javax.swing.JComponent
implements java.awt.event.ActionListener, DaySelectionListener

JDateChooser is a simple Date choosing component with similar functionality to JFileChooser and JColorChooser. It can be used as a component, to be inserted into a client layout, or can display it's own Dialog through use of the showDialog method.

JDateChooser can be initialized to the current date using the no argument constructor, or initialized to a predefined date by passing an instance of Calendar to the constructor.

Using the JDateChooser dialog works in a similar manner to JFileChooser or JColorChooser. The showDialog method returns an int that equates to the public variables ACCEPT_OPTION, CANCEL_OPTION or ERROR_OPTION.

JDateChooser chooser = new JDateChooser();
if (chooser.showDialog(this, "Select a date...") == JDateChooser.ACCEPT_OPTION) {
  Calendar selectedDate = chooser.getSelectedDate();
  // process date here...
}

To use JDateChooser as a component within a GUI, users should subclass JDateChooser and override the acceptSelection and cancelSelection methods to process the corresponding user selection.

The current date can be retrieved by calling getSelectedDate method.

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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int ACCEPT_OPTION
          Value returned by showDialog upon pressing the "okay" button.
static int CANCEL_OPTION
          Value returned by showDialog upon pressing the "cancel" button.
static int ERROR_OPTION
          Value returned by showDialog upon an error.
 
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
JDateChooser()
          This constructor creates a new instance of JDateChooser initialized to the current date.
JDateChooser(java.util.Calendar c)
          Creates a new instance of JDateChooser initialized to the given Calendar.
 
Method Summary
 void acceptSelection()
          This method is called when the user presses the "okay" button.
 void actionPerformed(java.awt.event.ActionEvent e)
          Used to process events from the previous month, previous year, next month, next year, okay and cancel buttons.
 void cancelSelection()
          This method is called when the user presses the "cancel" button.
 void daySelected(int d)
          Used to process day selection events from the user.
 java.util.Calendar getSelectedDate()
          Returns the currently selected Date in the form of a java.util.Calendar object.
 int showDialog(java.awt.Component parent, java.lang.String title)
          Pops up a Date chooser dialog with the supplied title, centered about the component parent.
 
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, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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

ERROR_OPTION

public static final int ERROR_OPTION
Value returned by showDialog upon an error.

See Also:
Constant Field Values

ACCEPT_OPTION

public static final int ACCEPT_OPTION
Value returned by showDialog upon pressing the "okay" button.

See Also:
Constant Field Values

CANCEL_OPTION

public static final int CANCEL_OPTION
Value returned by showDialog upon pressing the "cancel" button.

See Also:
Constant Field Values
Constructor Detail

JDateChooser

public JDateChooser()
This constructor creates a new instance of JDateChooser initialized to the current date.


JDateChooser

public JDateChooser(java.util.Calendar c)
Creates a new instance of JDateChooser initialized to the given Calendar.

Method Detail

getSelectedDate

public java.util.Calendar getSelectedDate()
Returns the currently selected Date in the form of a java.util.Calendar object. Typically called adter receipt of an ACCEPT_OPTION (using the showDialog method) or within the acceptSelection method (using the JDateChooser as a component.)

Returns:
java.util.Calendar The selected date in the form of a Calendar object.

showDialog

public int showDialog(java.awt.Component parent,
                      java.lang.String title)
Pops up a Date chooser dialog with the supplied title, centered about the component parent.

Returns:
int An integer that equates to the static variables ERROR_OPTION, ACCEPT_OPTION or CANCEL_OPTION.

acceptSelection

public void acceptSelection()
This method is called when the user presses the "okay" button. Users must subclass JDateChooser and override this method to use JDateChooser as a Component and receive accept selections by the user.


cancelSelection

public void cancelSelection()
This method is called when the user presses the "cancel" button. Users must subclass JDateChooser and override this method to use JDateChooser as a Component and receive cancel selections by the user.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Used to process events from the previous month, previous year, next month, next year, okay and cancel buttons. Users should call super.actionPerformed(ActionEvent) if overriding this method.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

daySelected

public void daySelected(int d)
Used to process day selection events from the user. This method resets resets the Calendar object to the selected day. Subclasses should make a call to super.daySelected() if overriding this method.

Specified by:
daySelected in interface DaySelectionListener