Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.plaf.basic
Class BasicDatePickerUI

    java.lang.Object
      javax.swing.plaf.ComponentUI
          org.jdesktop.swingx.plaf.DatePickerUI
              org.jdesktop.swingx.plaf.basic.BasicDatePickerUI

    public class BasicDatePickerUI

extends DatePickerUI

The basic implementation of a `DatePickerUI`.

Author:
  Joshua Outwater, Jeanette Winzenburg

Nested Class Summary
`protected class` | `BasicDatePickerUI.BasicDatePickerPopup` Popup component that shows a JXMonthView component along with controlling buttons to allow traversal of the months.
`class` | `BasicDatePickerUI.EditorCancelAction` The wrapper for the editor cancel action.
`class` | `BasicDatePickerUI.PopupRemover`

Field Summary
`protected JXDatePicker` | `datePicker`
`protected java.awt.event.MouseListener` | `mouseListener`
`protected java.awt.event.MouseMotionListener` | `mouseMotionListener`
`protected java.beans.PropertyChangeListener` | `propertyChangeListener`

Constructor Summary
`BasicDatePickerUI()`

Method Summary
`protected void` | `cancel()`
`protected void` | `commit()`
`protected javax.swing.JFormattedTextField` | `createEditor()` Creates the editor used to edit the date selection.
`protected java.awt.event.ActionListener` | `createEditorActionListener()` Creates and returns the ActionListener for the picker's editor.
`protected java.beans.PropertyChangeListener` | `createEditorPropertyListener()`
`protected java.awt.event.FocusListener` | `createFocusListener()` Creates and returns the focuslistener for picker and editor.
`protected java.awt.LayoutManager` | `createLayoutManager()`
`protected java.awt.event.ActionListener` | `createMonthViewActionListener()` Creates and returns the ActionListener for the picker's monthView.
`protected java.beans.PropertyChangeListener` | `createMonthViewPropertyListener()` Creates and returns the property change listener for the picker's monthView
`protected DateSelectionListener` | `createMonthViewSelectionListener()` Returns the listener for the dateSelection.
`protected java.awt.event.MouseListener` | `createMouseListener()`
`protected java.awt.event.MouseMotionListener` | `createMouseMotionListener()`
`protected javax.swing.JButton` | `createPopupButton()`
`protected javax.swing.event.PopupMenuListener` | `createPopupMenuListener()` Creates and returns a PopupMenuListener.
`protected java.beans.PropertyChangeListener` | `createPropertyChangeListener()`
`protected org.jdesktop.swingx.plaf.basic.BasicDatePickerUI.TogglePopupAction` | `createTogglePopupAction()` Creates and returns the action which toggles the visibility of the popup.
`static javax.swing.plaf.ComponentUI` | `createUI(javax.swing.JComponent c)`
`int` | `getBaseline(int width, int height)` Get the baseline for the specified component, or a value less than 0 if the baseline can not be determined.
`java.awt.Dimension` | `getMinimumSize(javax.swing.JComponent c)`
`protected javax.swing.event.PopupMenuListener` | `getPopupMenuListener()` Returns the PopupMenuListener for the MonthView popup.
`java.awt.Dimension` | `getPreferredSize(javax.swing.JComponent c)`
`java.util.Date` | `getSelectableDate(java.util.Date date)` Checks the given date for validity for selection.
`void` | `hidePopup()` PENDING: widened access for debugging - need api to control popup visibility?
`protected void` | `home(boolean commit)` Navigates to linkDate.
`protected void` | `installComponents()`
`protected void` | `installDefaults()` Installs DatePicker default properties.
`protected void` | `installKeyboardActions()`
`protected void` | `installLinkPanelKeyboardActions()` Installs actions and key bindings on the datePicker's linkPanel.
`protected void` | `installListeners()` Creates and installs all listeners to all components.
`protected void` | `installPopup()` Creates the popup and registers the popup listener.
`void` | `installUI(javax.swing.JComponent c)`
`boolean` | `isPopupVisible()`
`void` | `toggleShowPopup()` Toggles the popups visibility after preparing internal state.
`protected void` | `uninstallComponents()`
`protected void` | `uninstallDefaults()`
`protected void` | `uninstallKeyboardActions()`
`protected void` | `uninstallLinkPanelKeyboardActions(javax.swing.JComponent panel)` Uninstalls actions and key bindings from linkPanel.
`protected void` | `uninstallListeners()` Uninstalls and nulls all listeners which had been installed by this delegate.
`protected void` | `uninstallPopup()` Removes the popup listener from the popup and null it, if it was not null.
`void` | `uninstallUI(javax.swing.JComponent c)`
`protected void` | `updateEditorListeners(javax.swing.JFormattedTextField oldEditor)` Wires the picker's editor related listening and actions.
`protected void` | `updateFormatsFromTimeZone(java.util.TimeZone zone)` Updates the picker's formats to the given TimeZone.
`protected void` | `updateFromDateChanged()` Updates internals after picker's date property changed.
`protected void` | `updateFromEditableChanged()` Updates properties which depend on the picker's editable.
`protected void` | `updateFromEditorChanged(javax.swing.JFormattedTextField oldEditor, boolean updateListeners)` Updates internals after the picker's editor property has changed.
`protected void` | `updateFromEnabledChanged()` Update properties which depend on the picker's enabled.
`protected void` | `updateFromMonthViewChanged(JXMonthView oldMonthView)` Updates internals after the picker's monthView has changed.
`protected void` | `updateFromSelectionChanged(DateSelectionEvent.EventType eventType, boolean adjusting)` Updates date related properties picker/editor after a change in the monthView's selection.
`protected void` | `updateFromSelectionModelChanged(DateSelectionModel oldModel)` Updates internals after the selection model changed.
`protected void` | `updateFromValueChanged(java.util.Date oldDate, java.util.Date newDate)` Updates date related properties in picker/monthView after a change in the editor's value.
`protected void` | `updateLinkDate()` Updates the picker's linkDate to be in synch with monthView's today.
`protected void` | `updateLinkPanel(javax.swing.JComponent oldLinkPanel)`
`protected void` | `updateLocale()` Called form property listener, updates all components locale, formats etc.
`protected void` | `updateMonthViewListeners(JXMonthView oldMonthView)` Wires the picker's monthView related listening.
`protected void` | `updateSelectionModelListeners(DateSelectionModel oldModel)` Wires monthView's selection model listening.
`protected void` | `updateTimeZone(java.util.TimeZone old)` Updates picker's timezone dependent properties on change notification from the associated monthView.

Methods inherited from class javax.swing.plaf.ComponentUI
`contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, paint, update`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### datePicker

    protected JXDatePicker datePicker

### propertyChangeListener

    protected java.beans.PropertyChangeListener propertyChangeListener

### mouseListener

    protected java.awt.event.MouseListener mouseListener

### mouseMotionListener

    protected java.awt.event.MouseMotionListener mouseMotionListener

Constructor Detail

### BasicDatePickerUI

    public BasicDatePickerUI()

Method Detail

### createUI

    public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)

### installUI

    public void installUI(javax.swing.JComponent c)

  Overrides:
    `installUI` in class `javax.swing.plaf.ComponentUI`

### uninstallUI

    public void uninstallUI(javax.swing.JComponent c)

  Overrides:
    `uninstallUI` in class `javax.swing.plaf.ComponentUI`

### installComponents

    protected void installComponents()

### uninstallComponents

    protected void uninstallComponents()

### installDefaults

    protected void installDefaults()

  Installs DatePicker default properties.

### uninstallDefaults

    protected void uninstallDefaults()

### installKeyboardActions

    protected void installKeyboardActions()

### uninstallKeyboardActions

    protected void uninstallKeyboardActions()

### installLinkPanelKeyboardActions

    protected void installLinkPanelKeyboardActions()

  Installs actions and key bindings on the datePicker's linkPanel. Does nothing if the linkPanel is null. PRE: keybindings installed on picker.

### uninstallLinkPanelKeyboardActions

    protected void uninstallLinkPanelKeyboardActions(javax.swing.JComponent panel)

  Uninstalls actions and key bindings from linkPanel. Does nothing if the linkPanel is null.

  Parameters:
    `panel` - the component to uninstall

### installListeners

    protected void installListeners()

  Creates and installs all listeners to all components.

### uninstallListeners

    protected void uninstallListeners()

  Uninstalls and nulls all listeners which had been installed by this delegate.

### updateMonthViewListeners

    protected void updateMonthViewListeners(JXMonthView oldMonthView)

  Wires the picker's monthView related listening. Removes all listeners from the given old view and adds the listeners to the current monthView.

  Parameters:
    `oldMonthView` -

### updateEditorListeners

    protected void updateEditorListeners(javax.swing.JFormattedTextField oldEditor)

  Wires the picker's editor related listening and actions. Removes listeners/actions from the old editor and adds them to the new editor.

  Parameters:
    `oldEditor` - the pickers editor before the change

### updateSelectionModelListeners

    protected void updateSelectionModelListeners(DateSelectionModel oldModel)

  Wires monthView's selection model listening. Removes the selection listener from the old model and add to the new model.

  Parameters:
    `oldModel` - the dateSelectionModel before the change, may be null.

### createEditor

    protected javax.swing.JFormattedTextField createEditor()

  Creates the editor used to edit the date selection. The editor is configured with the default DatePickerFormatter marked as UIResource.

  Returns:
    an instance of a JFormattedTextField

### createPopupButton

    protected javax.swing.JButton createPopupButton()

### getMinimumSize

    public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)

  Overrides:
    `getMinimumSize` in class `javax.swing.plaf.ComponentUI`

### getPreferredSize

    public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)

  Overrides:
    `getPreferredSize` in class `javax.swing.plaf.ComponentUI`

### getBaseline

    public int getBaseline(int width,
                           int height)

  Description copied from class: `DatePickerUI`
  Get the baseline for the specified component, or a value less than 0 if the baseline can not be determined. The baseline is measured from the top of the component.

  Overrides:
    `getBaseline` in class `DatePickerUI`
  Parameters:
    `width` - Width of the component to determine baseline for.
    `height` - Height of the component to determine baseline for.
  Returns:
    baseline for the specified component

### getSelectableDate

    public java.util.Date getSelectableDate(java.util.Date date)
                                     throws java.beans.PropertyVetoException

  Checks the given date for validity for selection. If valid, returns the date as appropriate in the picker's context, otherwise throws a propertyVetoException. Note that the returned date might be different from the input date, f.i. the time fields might be cleared. The input date is guaranteed to be unchanged.

  Specified by:
    `getSelectableDate` in class `DatePickerUI`
  Parameters:
    `date` - date to check
  Returns:
    the date as allowed in the context of the picker.
  Throws:
    `java.beans.PropertyVetoException` - if the given date is not valid for selection

### updateFromDateChanged

    protected void updateFromDateChanged()

  Updates internals after picker's date property changed.

### updateFromValueChanged

    protected void updateFromValueChanged(java.util.Date oldDate,
                                          java.util.Date newDate)

  Updates date related properties in picker/monthView after a change in the editor's value. Reverts the value if the new date is unselectable.

  Parameters:
    `oldDate` - the editor value before the change
    `newDate` - the editor value after the change

### updateFromSelectionChanged

    protected void updateFromSelectionChanged(DateSelectionEvent.EventType eventType,
                                              boolean adjusting)

  Updates date related properties picker/editor after a change in the monthView's selection. Here: does nothing if the change is intermediate. PENDNG JW: shouldn't we listen to actionEvents then?

  Parameters:
    `eventType` - the type of the selection change
    `adjusting` - flag to indicate whether the the selection change is intermediate

### updateFromMonthViewChanged

    protected void updateFromMonthViewChanged(JXMonthView oldMonthView)

  Updates internals after the picker's monthView has changed.

  Cleans to popup. Wires the listeners. Updates date. Updates formats' timezone.

  Parameters:
    `oldMonthView` - the picker's monthView before the change, may be null.

### updateFromEditorChanged

    protected void updateFromEditorChanged(javax.swing.JFormattedTextField oldEditor,
                                           boolean updateListeners)

  Updates internals after the picker's editor property has changed.

  Updates the picker's children. Removes the old editor and adds the new editor. Wires the editor listeners, it the flag set. Typically, this method is called during installing the componentUI with the flag set to false and true at all other moments.

  Parameters:
    `oldEditor` - the picker's editor before the change, may be null.
    `updateListeners` - a flag to indicate whether the listeners are ready for usage.

### updateFromSelectionModelChanged

    protected void updateFromSelectionModelChanged(DateSelectionModel oldModel)

  Updates internals after the selection model changed.

  Parameters:
    `oldModel` - the model before the change.

### updateFromEditableChanged

    protected void updateFromEditableChanged()

  Updates properties which depend on the picker's editable.

### updateFromEnabledChanged

    protected void updateFromEnabledChanged()

  Update properties which depend on the picker's enabled.

### updateFormatsFromTimeZone

    protected void updateFormatsFromTimeZone(java.util.TimeZone zone)

  Updates the picker's formats to the given TimeZone.

  Parameters:
    `zone` - the timezone to set on the formats.

### updateTimeZone

    protected void updateTimeZone(java.util.TimeZone old)

  Updates picker's timezone dependent properties on change notification from the associated monthView. PENDING JW: DatePicker needs to send notification on timezone change?

  Parameters:
    `old` - the timezone before the change.

### updateLinkDate

    protected void updateLinkDate()

  Updates the picker's linkDate to be in synch with monthView's today.

### updateLocale

    protected void updateLocale()

  Called form property listener, updates all components locale, formats etc.

### updateLinkPanel

    protected void updateLinkPanel(javax.swing.JComponent oldLinkPanel)

  Parameters:
    `oldLinkPanel` -

### commit

    protected void commit()

### cancel

    protected void cancel()

### hidePopup

    public void hidePopup()

  PENDING: widened access for debugging - need api to control popup visibility?

### isPopupVisible

    public boolean isPopupVisible()

### home

    protected void home(boolean commit)

  Navigates to linkDate. If commit, the linkDate is selected and committed. If not commit, the linkDate is scrolled to visible, if the monthview is open, does nothing for invisible monthView.

  Parameters:
    `commit` - boolean to indicate whether the linkDate should be selected and committed

### createTogglePopupAction

    protected org.jdesktop.swingx.plaf.basic.BasicDatePickerUI.TogglePopupAction createTogglePopupAction()

  Creates and returns the action which toggles the visibility of the popup.

  Returns:
    the action which toggles the visibility of the popup.

### toggleShowPopup

    public void toggleShowPopup()

  Toggles the popups visibility after preparing internal state.

### installPopup

    protected void installPopup()

  Creates the popup and registers the popup listener. All internal methods must use this method instead of calling createPopup directly.

### uninstallPopup

    protected void uninstallPopup()

  Removes the popup listener from the popup and null it, if it was not null. All internal popup removal/replacement must use this method instead of nulling directly.

### getPopupMenuListener

    protected javax.swing.event.PopupMenuListener getPopupMenuListener()

  Returns the PopupMenuListener for the MonthView popup. Lazily created.

  Returns:
    the popupuMenuListener to install on the popup

### createPopupMenuListener

    protected javax.swing.event.PopupMenuListener createPopupMenuListener()

  Creates and returns a PopupMenuListener. PENDING JW: the listener management assumes a stateless implementation relative to the popup/picker. Custom implementations should take care to not keep any references.

  Returns:

### createMonthViewPropertyListener

    protected java.beans.PropertyChangeListener createMonthViewPropertyListener()

  Creates and returns the property change listener for the picker's monthView

  Returns:
    the listener for monthView properties

### createFocusListener

    protected java.awt.event.FocusListener createFocusListener()

  Creates and returns the focuslistener for picker and editor.

  Returns:
    the focusListener

### createEditorActionListener

    protected java.awt.event.ActionListener createEditorActionListener()

  Creates and returns the ActionListener for the picker's editor.

  Returns:
    the Actionlistener for the editor.

### createMonthViewActionListener

    protected java.awt.event.ActionListener createMonthViewActionListener()

  Creates and returns the ActionListener for the picker's monthView.

  Returns:
    the Actionlistener for the monthView.

### createMonthViewSelectionListener

    protected DateSelectionListener createMonthViewSelectionListener()

  Returns the listener for the dateSelection.

  Returns:
    the date selection listener

### createEditorPropertyListener

    protected java.beans.PropertyChangeListener createEditorPropertyListener()

  Returns:
    a propertyChangeListener listening to editor property changes

### createPropertyChangeListener

    protected java.beans.PropertyChangeListener createPropertyChangeListener()

### createLayoutManager

    protected java.awt.LayoutManager createLayoutManager()

### createMouseListener

    protected java.awt.event.MouseListener createMouseListener()

### createMouseMotionListener

    protected java.awt.event.MouseMotionListener createMouseMotionListener()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.