de.bielefeld.umweltamt.aui.utils
Class TextFieldDateChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by de.bielefeld.umweltamt.aui.utils.TextFieldDateChooser
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class TextFieldDateChooser
extends javax.swing.JPanel
implements java.awt.event.ActionListener, java.awt.event.FocusListener, java.beans.PropertyChangeListener

A better DateChooser, that uses a TextField and parses Dates in different Formats.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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  javax.swing.JButton calendarButton
           
protected  java.text.SimpleDateFormat dateFormat
           
protected  boolean dateSelected
           
protected  boolean ignorePropertyChangeEvent
           
protected  JCalendar jcalendar
           
protected  java.util.Date lastSelectedDate
           
protected  java.lang.String[] patterns
           
protected  javax.swing.JPopupMenu popup
           
protected  javax.swing.JTextField textField
           
protected  java.util.Date todaysDate
           
protected  java.util.Calendar workingCalendar
           
 
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
TextFieldDateChooser()
           Creates an instance whose text field will accept a set of default patterns.
TextFieldDateChooser(java.lang.String[] patterns)
           Creates an instance whose text field will accept the specified DateFormatter patterns.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Called when the calendar button is pressed.
protected  void displayErrorMessage()
          Displays and error message notifying the user that they entered invalid data in the text field.
 void focusGained(java.awt.event.FocusEvent e)
          Not used.
 void focusLost(java.awt.event.FocusEvent evt)
          Formats the text of the text field or displays an error if the text can't be formatted.
 javax.swing.JButton getCalendarButton()
          Returns the calendar button in use.
 java.util.Date getDate()
          Returns the DateFormatter.
 javax.swing.JTextField getTextField()
          Returns the text field in use.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          Called when JCalendar's DateFormatter is changed.
 void setDate(java.util.Date date)
          Sets the DateFormatter displayed by the text field and returned by getDate().
 void setEnabled(boolean enabled)
           
 void updateUI()
          Updates the UI of itself and the popup.
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, setFont, setForeground, 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, 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

patterns

protected java.lang.String[] patterns

dateFormat

protected java.text.SimpleDateFormat dateFormat

textField

protected javax.swing.JTextField textField

jcalendar

protected JCalendar jcalendar

calendarButton

protected javax.swing.JButton calendarButton

popup

protected javax.swing.JPopupMenu popup

dateSelected

protected boolean dateSelected

lastSelectedDate

protected java.util.Date lastSelectedDate

workingCalendar

protected java.util.Calendar workingCalendar

todaysDate

protected java.util.Date todaysDate

ignorePropertyChangeEvent

protected boolean ignorePropertyChangeEvent
Constructor Detail

TextFieldDateChooser

public TextFieldDateChooser()

Creates an instance whose text field will accept a set of default patterns.

The initial value of the text field is empty, but can be changed by simply calling setDate(Date).


TextFieldDateChooser

public TextFieldDateChooser(java.lang.String[] patterns)

Creates an instance whose text field will accept the specified DateFormatter patterns. The pattern displayed by the text field will be the first pattern of the patterns array. If patterns is null a default array of patterns will be used.

The initial value of the text field is empty, but can be changed by simply calling setDate(Date).

Method Detail

setDate

public void setDate(java.util.Date date)
Sets the DateFormatter displayed by the text field and returned by getDate().

Parameters:
DateFormatter - The new DateFormatter.

getDate

public java.util.Date getDate()
Returns the DateFormatter.

Returns:
The currently selected DateFormatter (may be NULL)

getTextField

public javax.swing.JTextField getTextField()
Returns the text field in use.


getCalendarButton

public javax.swing.JButton getCalendarButton()
Returns the calendar button in use.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Called when the calendar button is pressed.

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

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Called when JCalendar's DateFormatter is changed.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

focusLost

public void focusLost(java.awt.event.FocusEvent evt)
Formats the text of the text field or displays an error if the text can't be formatted.

Specified by:
focusLost in interface java.awt.event.FocusListener

displayErrorMessage

protected void displayErrorMessage()
Displays and error message notifying the user that they entered invalid data in the text field.


updateUI

public void updateUI()
Updates the UI of itself and the popup.

Overrides:
updateUI in class javax.swing.JPanel

setEnabled

public void setEnabled(boolean enabled)
Overrides:
setEnabled in class javax.swing.JComponent

focusGained

public void focusGained(java.awt.event.FocusEvent e)
Not used.

Specified by:
focusGained in interface java.awt.event.FocusListener