Class DatePicker

All Implemented Interfaces:
CalendarColors, ImageObserver, MenuContainer, Serializable

public class DatePicker extends CalendarPane
A concrete implementation of JComponent. Capable of displaying and selecting dates, much like an editable combo-box with a calendar dropdown.

This implementatin allows for specifying time component along with the date. Make sure that: 1) keepTime property is true; 2) stripTime is false; 3) dateFormat has time fields;

Author:
Michael Baranov
See Also:
  • Field Details

    • PROPERTY_NAME_DATE_FORMAT

      public static final String PROPERTY_NAME_DATE_FORMAT
      The name of a "dateFormat" property.
      See Also:
    • PROPERTY_NAME_FIELD_EDITABLE

      public static final String PROPERTY_NAME_FIELD_EDITABLE
      The name of a "fieldEditable" property.
      See Also:
    • PROPERTY_NAME_KEEP_TIME

      public static final String PROPERTY_NAME_KEEP_TIME
      The name of a "keepTime" property.
      See Also:
    • PROPERTY_NAME_PICKER_STYLE

      public static final String PROPERTY_NAME_PICKER_STYLE
      The name of a "pickerStyle" property.
      See Also:
    • PROPERTY_NAME_DROPDOWN_FOCUSABLE

      public static final String PROPERTY_NAME_DROPDOWN_FOCUSABLE
      The name of a "popupFocusable" property.
      See Also:
    • PICKER_STYLE_FIELD_AND_BUTTON

      public static final int PICKER_STYLE_FIELD_AND_BUTTON
      A constant for the "pickerStyle" property.
      See Also:
    • PICKER_STYLE_BUTTON

      public static final int PICKER_STYLE_BUTTON
      A constant for the "pickerStyle" property.
      See Also:
  • Constructor Details

    • DatePicker

      public DatePicker()
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, int dateStyle)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, DateFormat dateFormat)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, int dateStyle, Locale locale)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, DateFormat dateFormat, Locale locale)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, int dateStyle, Locale locale, TimeZone zone)
      Constructor.
    • DatePicker

      public DatePicker(Date initialDate, DateFormat dateFormat, Locale locale, TimeZone zone)
      Constructor.
  • Method Details

    • getUIClassID

      public String getUIClassID()
      Overrides:
      getUIClassID in class CalendarPane
    • getDateFormat

      public DateFormat getDateFormat()
      Returns the date format.

      Returns:
      current date format
      See Also:
    • setDateFormat

      public void setDateFormat(DateFormat dateFormat)
      Sets the date format constant defined by DateFormat and updates the control to reflect new date style.

      Parameters:
      dateFormat - the date format constant to set
      See Also:
    • isFieldEditable

      public boolean isFieldEditable()
      Is the edit field of the control editable by the user?

      If not editable, the user can not type in the date and can only use calendar drop-down to select dates.

      Returns:
      true if the edit field is editable, false otherwise
      See Also:
    • setFieldEditable

      public void setFieldEditable(boolean fieldEditable)
      Enables or disables editing of the edit field by the user.

      If not editable, the user can not type in the date and can only use calendar drop-down to select dates.

      Parameters:
      fieldEditable - the editable value to set
      See Also:
    • isDropdownFocusable

      public boolean isDropdownFocusable()
      Is the dropdown focusable?

      If not focusable, the dropdown calendar will lack some keyboard input capabilities.

      Returns:
      true if the dropdown is focusable, false otherwise
      See Also:
    • setDropdownFocusable

      public void setDropdownFocusable(boolean popupFocusable)
      Enables or disables focusability of the dropdown calendar.

      If not focusable, the dropdown calendar will lack some keyboard input capabilities.

      Parameters:
      popupFocusable - the focusable value to set
      See Also:
    • isKeepTime

      public boolean isKeepTime()
      Does UI try to preserve time components entered in the edit field?

      If true and if the date format has some time fields (hours, minutes, seconds, fraction of second), the UI tries to respect the time fields' values entered by user as much as possible.

      Note: to be able to receive time portion of the date, make sure CalendarPane.isStripTime() is false (the dafualt).

      Returns:
      true if the UI respects time fields, false otherwise
      See Also:
    • setKeepTime

      public void setKeepTime(boolean keepTime)
      Determines if the UI should try to preserve time components entered in the edit field.

      If true and if the date format has some time fields (hours, minutes, seconds, fraction of second), the UI tries to respect the time fields' values entered by user as much as possible.

      Note: to be able to receive time portion of the date, make sure CalendarPane.isStripTime() is false (the dafualt).

      Parameters:
      keepTime - true to make the UI respects time fields, false otherwise
      See Also:
    • getPickerStyle

      public int getPickerStyle()
      Returns current visual style of the picker control.

      NOTE: do not confuse with CalendarPane.getStyle().

      Returns:
      current visual style constant.
    • setPickerStyle

      public void setPickerStyle(int pickerStyle)
      Sets the current visual style of the picker control.

      The control is then updated to reflect the new style.

      NOTE: do not confuse with CalendarPane.getStyle().

      Parameters:
      pickerStyle - the style to set
      See Also:
    • showButtonOnly

      public void showButtonOnly(boolean buttonOnly)
      A shortucut method to switch picker style between PICKER_STYLE_FIELD_AND_BUTTON and PICKER_STYLE_BUTTON
      Parameters:
      buttonOnly - true to set PICKER_STYLE_BUTTON, false to set PICKER_STYLE_FIELD_AND_BUTTON
    • showPopup

      public void showPopup()
      Displays the calendar dropdown.
    • hidePopup

      public void hidePopup()
      Hides the calendar dropdown without selecting a date.
    • commitEdit

      public boolean commitEdit()
      Description copied from class: CalendarPane
      Forces the control to commit current user's edit. The opertaion may fail because the date in the control may be restricted by current veto policy. If successfull, the current date of the control may change, a CommitEvent is fired.
      Overrides:
      commitEdit in class CalendarPane
      Returns:
      true if successful, false otherwise
      See Also:
    • revertEdit

      public void revertEdit()
      Description copied from class: CalendarPane
      Forces the control to revert current user's edit to reflect current control's date. The current date of the control may change, a CommitEvent is fired.
      Overrides:
      revertEdit in class CalendarPane
      See Also: