Class DatePicker

  • All Implemented Interfaces:
    CalendarColors, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.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:
    Serialized Form
    • Field Detail

      • PROPERTY_NAME_DATE_FORMAT

        public static final java.lang.String PROPERTY_NAME_DATE_FORMAT
        The name of a "dateFormat" property.
        See Also:
        Constant Field Values
      • PROPERTY_NAME_FIELD_EDITABLE

        public static final java.lang.String PROPERTY_NAME_FIELD_EDITABLE
        The name of a "fieldEditable" property.
        See Also:
        Constant Field Values
      • PROPERTY_NAME_KEEP_TIME

        public static final java.lang.String PROPERTY_NAME_KEEP_TIME
        The name of a "keepTime" property.
        See Also:
        Constant Field Values
      • PROPERTY_NAME_PICKER_STYLE

        public static final java.lang.String PROPERTY_NAME_PICKER_STYLE
        The name of a "pickerStyle" property.
        See Also:
        Constant Field Values
      • PROPERTY_NAME_DROPDOWN_FOCUSABLE

        public static final java.lang.String PROPERTY_NAME_DROPDOWN_FOCUSABLE
        The name of a "popupFocusable" property.
        See Also:
        Constant Field Values
      • PICKER_STYLE_FIELD_AND_BUTTON

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

        public static final int PICKER_STYLE_BUTTON
        A constant for the "pickerStyle" property.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DatePicker

        public DatePicker()
        Constructor.
      • DatePicker

        public DatePicker​(java.util.Date initialDate)
        Constructor.
      • DatePicker

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

        public DatePicker​(java.util.Date initialDate,
                          java.text.DateFormat dateFormat)
        Constructor.
      • DatePicker

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

        public DatePicker​(java.util.Date initialDate,
                          java.text.DateFormat dateFormat,
                          java.util.Locale locale)
        Constructor.
      • DatePicker

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

        public DatePicker​(java.util.Date initialDate,
                          java.text.DateFormat dateFormat,
                          java.util.Locale locale,
                          java.util.TimeZone zone)
        Constructor.
    • Method Detail

      • getDateFormat

        public java.text.DateFormat getDateFormat()
        Returns the date format.

        Returns:
        current date format
        See Also:
        setDateFormat(DateFormat)
      • setDateFormat

        public void setDateFormat​(java.text.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:
        getDateFormat(), DateFormat
      • 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(boolean)
      • 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:
        isFieldEditable()
      • 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(boolean)
      • 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:
        isDropdownFocusable()
      • 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(boolean), CalendarPane.setStripTime(boolean), CalendarPane.isStripTime()
      • 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:
        isKeepTime(), CalendarPane.setStripTime(boolean), CalendarPane.isStripTime()
      • getPickerStyle

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

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

        Returns:
        current visual style constant.
      • showPopup

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

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