Holger's
Java API

com.antelmann.util.gui
Class JDateRangeChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.antelmann.util.gui.JDateRangeChooser
All Implemented Interfaces:
ValueRetriever<Range<Date>>, ImageObserver, MenuContainer, Serializable

@ThirdParty(value="com.toedter.calendar components")
public class JDateRangeChooser
extends JComponent
implements ValueRetriever<Range<Date>>

This class allows to easily select a range of dates. Selection changes are promoted to listening ActionListeners. This class implements ThirdParty for its use of

Author:
Holger Antelmann
See Also:
JTimeChooser, Serialized Form

Nested Class Summary
static class JDateRangeChooser.Interval
           
 
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
 
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
JDateRangeChooser()
           
JDateRangeChooser(Date begin, Date end)
           
JDateRangeChooser(Date begin, Date end, LayoutOption layout)
           
JDateRangeChooser(Date begin, Date end, LayoutOption layout, int padding)
           
JDateRangeChooser(Date begin, Date end, LayoutOption layout, int padding, String dateFormatPattern)
           
JDateRangeChooser(Date begin, Date end, LayoutOption layout, String dateFormatPattern)
           
JDateRangeChooser(Date begin, JDateRangeChooser.Interval interval)
           
JDateRangeChooser(Date begin, JDateRangeChooser.Interval interval, LayoutOption layout)
           
JDateRangeChooser(Date begin, JDateRangeChooser.Interval interval, LayoutOption layout, int padding)
           
JDateRangeChooser(Date begin, JDateRangeChooser.Interval interval, LayoutOption layout, int padding, String dateFormatPattern)
           
JDateRangeChooser(Date begin, JDateRangeChooser.Interval interval, LayoutOption layout, String dateFormatPattern)
           
JDateRangeChooser(int padding)
           
JDateRangeChooser(LayoutOption layout)
           
JDateRangeChooser(String dateFormatPattern)
           
 
Method Summary
 void addActionListener(ActionListener listener)
          to be notified for selection changes
 Date getBegin()
          returns the day begin of the visually selected date
 JDateRangeChooser.Interval getChosenInterval()
           
 Date getEnd()
          returns the day end of the visually selected date
 Range<Date> getFullRange()
          ranges from the day begin until the end of the day at the end
 Range<Date> getRange()
           
 Range<Date> getRelevantValue()
          returns the relevant value for this instance at the time of calling
 void removeActionListener(ActionListener listener)
           
 void setDateFormatPattern(String pattern)
           
 void setDaysBeforeToday(int days)
          sets an individual interval starting at today minus the given days and ending now
 void setEnabled(boolean flag)
           
 void setInterval(Date begin, Date end)
           
 void setInterval(Date begin, JDateRangeChooser.Interval interval)
          the begin time will be set to the begin of the day of the given date while the end will be set after begin according to the given interval.
 void setInterval(JDateRangeChooser jic)
           
 void setInterval(Range<Date> range)
           
 void setIntervalFromSettings(String prefix)
           
 void setIntervalFromSettings(String prefix, Map<?,?> props)
           
 void setIntervalFromSettings(String prefix, Map<?,?> props, DateFormat df)
          supports [prefix]beginDate and either [prefix]interval or [prefix]endDate
static Range<Date> showDialog(Component parent, String title)
          convenience method to quickly select a date range
 Range<Date> showSelectionDialog(Component parent, String title)
          convenience method to quickly select a date range based on this customized instance
 
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, 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, 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
 

Constructor Detail

JDateRangeChooser

public JDateRangeChooser()

JDateRangeChooser

public JDateRangeChooser(LayoutOption layout)

JDateRangeChooser

public JDateRangeChooser(int padding)

JDateRangeChooser

public JDateRangeChooser(String dateFormatPattern)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         JDateRangeChooser.Interval interval)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         JDateRangeChooser.Interval interval,
                         LayoutOption layout)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         JDateRangeChooser.Interval interval,
                         LayoutOption layout,
                         int padding)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         JDateRangeChooser.Interval interval,
                         LayoutOption layout,
                         String dateFormatPattern)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         JDateRangeChooser.Interval interval,
                         LayoutOption layout,
                         int padding,
                         String dateFormatPattern)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         Date end)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         Date end,
                         LayoutOption layout)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         Date end,
                         LayoutOption layout,
                         String dateFormatPattern)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         Date end,
                         LayoutOption layout,
                         int padding)

JDateRangeChooser

public JDateRangeChooser(Date begin,
                         Date end,
                         LayoutOption layout,
                         int padding,
                         String dateFormatPattern)
Method Detail

showSelectionDialog

public Range<Date> showSelectionDialog(Component parent,
                                       String title)
convenience method to quickly select a date range based on this customized instance


showDialog

public static Range<Date> showDialog(Component parent,
                                     String title)
convenience method to quickly select a date range


setEnabled

public void setEnabled(boolean flag)
Overrides:
setEnabled in class JComponent

setDateFormatPattern

public void setDateFormatPattern(String pattern)

getBegin

public Date getBegin()
returns the day begin of the visually selected date


getEnd

public Date getEnd()
returns the day end of the visually selected date


getRange

public Range<Date> getRange()

getFullRange

public Range<Date> getFullRange()
ranges from the day begin until the end of the day at the end


getRelevantValue

public Range<Date> getRelevantValue()
Description copied from interface: ValueRetriever
returns the relevant value for this instance at the time of calling

Specified by:
getRelevantValue in interface ValueRetriever<Range<Date>>

addActionListener

public void addActionListener(ActionListener listener)
to be notified for selection changes


removeActionListener

public void removeActionListener(ActionListener listener)

setIntervalFromSettings

public void setIntervalFromSettings(String prefix)
                             throws IllegalArgumentException,
                                    ParseException
Throws:
IllegalArgumentException
ParseException

setIntervalFromSettings

public void setIntervalFromSettings(String prefix,
                                    Map<?,?> props)
                             throws IllegalArgumentException,
                                    ParseException
Throws:
IllegalArgumentException
ParseException

setIntervalFromSettings

public void setIntervalFromSettings(String prefix,
                                    Map<?,?> props,
                                    DateFormat df)
                             throws IllegalArgumentException,
                                    ParseException
supports [prefix]beginDate and either [prefix]interval or [prefix]endDate

Throws:
IllegalArgumentException
ParseException

setInterval

public void setInterval(JDateRangeChooser jic)

setInterval

public void setInterval(Range<Date> range)

setInterval

public void setInterval(Date begin,
                        Date end)

setDaysBeforeToday

public void setDaysBeforeToday(int days)
sets an individual interval starting at today minus the given days and ending now


getChosenInterval

public JDateRangeChooser.Interval getChosenInterval()

setInterval

public void setInterval(Date begin,
                        JDateRangeChooser.Interval interval)
                 throws IllegalArgumentException
the begin time will be set to the begin of the day of the given date while the end will be set after begin according to the given interval.

Throws:
IllegalArgumentException


(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads