com.netbreeze.swing
Class DateField

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.netbreeze.swing.DateField
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 DateField
extends javax.swing.JPanel
implements java.awt.event.KeyListener, java.awt.event.ActionListener, java.awt.event.FocusListener

A textfield for handling dates. Displays date in short format according to local settings, and makes sure a valid date is entered. This component takes care of all the "dirty details" - just use getDate() to find out the current date represented.

The up and down arrow keys can be used to increment or decrement the day, and PageUp/PageDown can be used to increment or decrement the month.

Version:
1.0
Author:
Henrik
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static java.lang.String PROP_DATE
          Property constant (used in PropertyChangeEvents)
 
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
DateField()
          Creates a DateField with no default value and no scroller buttons
DateField(boolean scroller)
          Creates a DateField with scroller buttons but no default date
DateField(java.util.Date d)
          Creates a DateField with the given date and no scroller buttons
DateField(java.util.Date date, boolean scroller)
          Creates a DateField with the given default date.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Event handling routine
 void addPropertyChangeListener(java.beans.PropertyChangeListener p)
          All PropertyChangeListeners will receive property change events when the date changes.
 void focusGained(java.awt.event.FocusEvent evt)
          Event handling routine
 void focusLost(java.awt.event.FocusEvent evt)
          Event handling routine
 java.util.Date getDate()
          Gets the current date.
 boolean getScroller()
          True if a scroller is currently displayed
 void keyPressed(java.awt.event.KeyEvent e)
          Event handling routine
 void keyReleased(java.awt.event.KeyEvent e)
          Event handling routine
 void keyTyped(java.awt.event.KeyEvent e)
          Event handling routine
static void main(java.lang.String[] args)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener p)
           
 void restoreDefault()
          Restores the date to the default value
 void setDate(java.util.Date newValue)
          Sets a new date
 void setEditable(boolean b)
          Sets whether this DateField should be editable or not.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROP_DATE

public static final java.lang.String PROP_DATE
Property constant (used in PropertyChangeEvents)
Constructor Detail

DateField

public DateField()
Creates a DateField with no default value and no scroller buttons

DateField

public DateField(java.util.Date d)
Creates a DateField with the given date and no scroller buttons

DateField

public DateField(boolean scroller)
Creates a DateField with scroller buttons but no default date

DateField

public DateField(java.util.Date date,
                 boolean scroller)
Creates a DateField with the given default date.
Parameters:
date - the default date
Method Detail

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener p)
All PropertyChangeListeners will receive property change events when the date changes.
Overrides:
addPropertyChangeListener in class javax.swing.JComponent

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener p)
Overrides:
removePropertyChangeListener in class javax.swing.JComponent

restoreDefault

public void restoreDefault()
Restores the date to the default value

setDate

public void setDate(java.util.Date newValue)
Sets a new date

getDate

public java.util.Date getDate()
Gets the current date. Returns null if the date is invalid or the field empty.

getScroller

public boolean getScroller()
True if a scroller is currently displayed

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Event handling routine
Specified by:
actionPerformed in interface java.awt.event.ActionListener

focusGained

public void focusGained(java.awt.event.FocusEvent evt)
Event handling routine
Specified by:
focusGained in interface java.awt.event.FocusListener

focusLost

public void focusLost(java.awt.event.FocusEvent evt)
Event handling routine
Specified by:
focusLost in interface java.awt.event.FocusListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Event handling routine
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Event handling routine
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Event handling routine
Specified by:
keyTyped in interface java.awt.event.KeyListener

setEditable

public void setEditable(boolean b)
Sets whether this DateField should be editable or not.

main

public static void main(java.lang.String[] args)