Class JDateChooser

All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible

public class JDateChooser extends JPanel implements ActionListener, PropertyChangeListener
A date chooser containing a date editor and a button, that makes a JCalendar visible for choosing a date. If no date editor is specified, a JTextFieldDateEditor is used as default.
Version:
$LastChangedRevision: 101 $, $LastChangedDate: 2006-06-04 14:42:29 +0200 (So, 04 Jun 2006) $
Author:
Kai Toedter
See Also:
  • Field Details

  • Constructor Details

    • JDateChooser

      public JDateChooser()
      Creates a new JDateChooser. By default, no date is set and the textfield is empty.
    • JDateChooser

      public JDateChooser(IDateEditor dateEditor)
      Creates a new JDateChooser with given IDateEditor.
      Parameters:
      dateEditor - the dateEditor to be used used to display the date. if null, a JTextFieldDateEditor is used.
    • JDateChooser

      public JDateChooser(Date date)
      Creates a new JDateChooser.
      Parameters:
      date - the date or null
    • JDateChooser

      public JDateChooser(Date date, String dateFormatString)
      Creates a new JDateChooser.
      Parameters:
      date - the date or null
      dateFormatString - the date format string or null (then MEDIUM SimpleDateFormat format is used)
    • JDateChooser

      public JDateChooser(Date date, String dateFormatString, IDateEditor dateEditor)
      Creates a new JDateChooser.
      Parameters:
      date - the date or null
      dateFormatString - the date format string or null (then MEDIUM SimpleDateFormat format is used)
      dateEditor - the dateEditor to be used used to display the date. if null, a JTextFieldDateEditor is used.
    • JDateChooser

      public JDateChooser(String datePattern, String maskPattern, char placeholder)
      Creates a new JDateChooser. If the JDateChooser is created with this constructor, the mask will be always visible in the date editor. Please note that the date pattern and the mask will not be changed if the locale of the JDateChooser is changed.
      Parameters:
      datePattern - the date pattern, e.g. "MM/dd/yy"
      maskPattern - the mask pattern, e.g. "##/##/##"
      placeholder - the placeholer charachter, e.g. '_'
    • JDateChooser

      public JDateChooser(JCalendar jcal, Date date, String dateFormatString, IDateEditor dateEditor)
      Creates a new JDateChooser.
      Parameters:
      jcal - the JCalendar to be used
      date - the date or null
      dateFormatString - the date format string or null (then MEDIUM Date format is used)
      dateEditor - the dateEditor to be used used to display the date. if null, a JTextFieldDateEditor is used.
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent e)
      Called when the jalendar button was pressed.
      Specified by:
      actionPerformed in interface ActionListener
      Parameters:
      e - the action event
    • propertyChange

      Listens for a "date" property change or a "day" property change event from the JCalendar. Updates the date editor and closes the popup.
      Specified by:
      propertyChange in interface PropertyChangeListener
      Parameters:
      evt - the event
    • updateUI

      public void updateUI()
      Updates the UI of itself and the popup.
      Overrides:
      updateUI in class JPanel
    • setLocale

      public void setLocale(Locale l)
      Sets the locale.
      Overrides:
      setLocale in class Component
      Parameters:
      l - The new locale value
    • getJcalendar

      Returns:
      the jcalendar
    • getDateFormatString

      Gets the date format string.
      Returns:
      Returns the dateFormatString.
    • setDateFormatString

      public void setDateFormatString(String dfString)
      Sets the date format string. E.g "MMMMM d, yyyy" will result in "July 21, 2004" if this is the selected date and locale is English.
      Parameters:
      dfString - The dateFormatString to set.
    • getDate

      public Date getDate()
      Returns the date. If the JDateChooser is started with a null date and no date was set by the user, null is returned.
      Returns:
      the current date
    • setDate

      public void setDate(Date date)
      Sets the date. Fires the property change "date" if date != null.
      Parameters:
      date - the new date.
    • getCalendar

      Returns the calendar. If the JDateChooser is started with a null date (or null calendar) and no date was set by the user, null is returned.
      Returns:
      the current calendar
    • setCalendar

      public void setCalendar(Calendar calendar)
      Sets the calendar. Value null will set the null date on the date editor.
      Parameters:
      calendar - the calendar.
    • setEnabled

      public void setEnabled(boolean enabled)
      Enable or disable the JDateChooser.
      Overrides:
      setEnabled in class JComponent
      Parameters:
      enabled - the new enabled value
    • isEnabled

      public boolean isEnabled()
      Returns true, if enabled.
      Overrides:
      isEnabled in class Component
      Returns:
      true, if enabled.
    • setIcon

      public void setIcon(ImageIcon icon)
      Sets the icon of the buuton.
      Parameters:
      icon - The new icon
    • setFont

      public void setFont(Font font)
      Sets the font of all subcomponents.
      Overrides:
      setFont in class JComponent
      Parameters:
      font - the new font
    • getJCalendar

      Returns the JCalendar component. THis is usefull if you want to set some properties.
      Returns:
      the JCalendar
    • getCalendarButton

      Returns the calendar button.
      Returns:
      the calendar button
    • getDateEditor

      Returns the date editor.
      Returns:
      the date editor
    • setSelectableDateRange

      public void setSelectableDateRange(Date min, Date max)
      Sets a valid date range for selectable dates. If max is before min, the default range with no limitation is set.
      Parameters:
      min - the minimum selectable date or null (then the minimum date is set to 01\01\0001)
      max - the maximum selectable date or null (then the maximum date is set to 01\01\9999)
    • setMaxSelectableDate

      public void setMaxSelectableDate(Date max)
    • setMinSelectableDate

      public void setMinSelectableDate(Date min)
    • getMaxSelectableDate

      Gets the maximum selectable date.
      Returns:
      the maximum selectable date
    • getMinSelectableDate

      Gets the minimum selectable date.
      Returns:
      the minimum selectable date
    • cleanup

      public void cleanup()
      Should only be invoked if the JDateChooser is not used anymore. Due to popup handling it had to register a change listener to the default menu selection manager which will be unregistered here. Use this method to cleanup possible memory leaks.
    • main

      public static void main(String[] s)
      Creates a JFrame with a JDateChooser inside and can be used for testing.
      Parameters:
      s - The command line arguments