public class BasicDatePickerUI extends DatePickerUI
DatePickerUI
.
Modifier and Type | Class and Description |
---|---|
protected class |
BasicDatePickerUI.BasicDatePickerPopup
Popup component that shows a JXMonthView component along with controlling
buttons to allow traversal of the months.
|
private class |
BasicDatePickerUI.DefaultEditor
A subclass of JFormattedTextField which calculates a "reasonable"
minimum preferred size, independent of value/text.
|
class |
BasicDatePickerUI.EditorCancelAction
The wrapper for the editor cancel action.
|
private class |
BasicDatePickerUI.Handler
PENDING: JW - I really hate the one-in-all.
|
class |
BasicDatePickerUI.PopupRemover |
private class |
BasicDatePickerUI.TogglePopupAction
Action used to commit the current value in the JFormattedTextField.
|
Modifier and Type | Field and Description |
---|---|
protected JXDatePicker |
datePicker |
private ActionListener |
editorActionListener |
private BasicDatePickerUI.EditorCancelAction |
editorCancelAction |
private PropertyChangeListener |
editorPropertyListener |
private FocusListener |
focusListener |
private BasicDatePickerUI.Handler |
handler |
private static Logger |
LOG |
private ActionListener |
monthViewActionListener |
private PropertyChangeListener |
monthViewPropertyListener |
private DateSelectionListener |
monthViewSelectionListener
listeners for the picker's monthview
|
protected MouseListener |
mouseListener |
protected MouseMotionListener |
mouseMotionListener |
private BasicDatePickerUI.BasicDatePickerPopup |
popup |
private JButton |
popupButton |
private PopupMenuListener |
popupMenuListener |
private BasicDatePickerUI.PopupRemover |
popupRemover |
protected PropertyChangeListener |
propertyChangeListener |
Constructor and Description |
---|
BasicDatePickerUI() |
Modifier and Type | Method and Description |
---|---|
protected void |
cancel() |
protected void |
commit() |
private Action |
createCancelAction()
Creates and returns the action for cancel the picker's
edit.
|
private Action |
createCommitAction()
Creates and returns the action for committing the picker's
input.
|
protected JFormattedTextField |
createEditor()
Creates the editor used to edit the date selection.
|
protected ActionListener |
createEditorActionListener()
Creates and returns the ActionListener for the picker's editor.
|
protected PropertyChangeListener |
createEditorPropertyListener() |
protected FocusListener |
createFocusListener()
Creates and returns the focuslistener for picker and editor.
|
private Action |
createHomeAction(boolean commit) |
protected LayoutManager |
createLayoutManager() |
protected ActionListener |
createMonthViewActionListener()
Creates and returns the ActionListener for the picker's monthView.
|
private BasicDatePickerUI.BasicDatePickerPopup |
createMonthViewPopup() |
protected PropertyChangeListener |
createMonthViewPropertyListener()
Creates and returns the property change listener for the
picker's monthView
|
protected DateSelectionListener |
createMonthViewSelectionListener()
Returns the listener for the dateSelection.
|
protected MouseListener |
createMouseListener() |
protected MouseMotionListener |
createMouseMotionListener() |
protected JButton |
createPopupButton() |
protected PopupMenuListener |
createPopupMenuListener()
Creates and returns a PopupMenuListener.
|
protected PropertyChangeListener |
createPropertyChangeListener() |
protected BasicDatePickerUI.TogglePopupAction |
createTogglePopupAction()
Creates and returns the action which toggles the visibility of the popup.
|
static ComponentUI |
createUI(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.
|
private DateFormat[] |
getCustomFormats(JFormattedTextField editor)
Checks and returns custom formats on the editor, if any.
|
private BasicDatePickerUI.Handler |
getHandler()
Lazily creates and returns the shared all-mighty listener of everything
|
Dimension |
getMinimumSize(JComponent c) |
protected PopupMenuListener |
getPopupMenuListener()
Returns the PopupMenuListener for the MonthView popup.
|
Dimension |
getPreferredSize(JComponent c) |
Date |
getSelectableDate(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(JComponent c) |
boolean |
isPopupVisible() |
private void |
revertValue(Date oldDate)
PENDING: currently this resets at once - but it's a no-no,
because it happens during notification
|
private void |
setActionEnabled(String key,
boolean enabled) |
void |
toggleShowPopup()
Toggles the popups visibility after preparing internal state.
|
protected void |
uninstallComponents() |
protected void |
uninstallDefaults() |
private void |
uninstallEditorListeners(JFormattedTextField oldEditor)
Uninstalls all listeners and actions which have been installed
by this delegate from the given editor.
|
protected void |
uninstallKeyboardActions() |
protected void |
uninstallLinkPanelKeyboardActions(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(JComponent c) |
private void |
updateChildLocale(Locale locale) |
protected void |
updateEditorListeners(JFormattedTextField oldEditor)
Wires the picker's editor related listening and actions.
|
private void |
updateEditorProperties()
Synchronizes the properties of the current editor to the properties of
the JXDatePicker.
|
private void |
updateEditorValue()
Sets the editor value to the model's selectedDate.
|
private void |
updateFormatLocale(Locale locale) |
protected void |
updateFormatsFromTimeZone(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(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(Date oldDate,
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(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(TimeZone old)
Updates picker's timezone dependent properties on change notification
from the associated monthView.
|
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, paint, update
protected JXDatePicker datePicker
private JButton popupButton
private BasicDatePickerUI.BasicDatePickerPopup popup
private BasicDatePickerUI.Handler handler
protected PropertyChangeListener propertyChangeListener
private FocusListener focusListener
protected MouseListener mouseListener
protected MouseMotionListener mouseMotionListener
private ActionListener editorActionListener
private BasicDatePickerUI.EditorCancelAction editorCancelAction
private PropertyChangeListener editorPropertyListener
private DateSelectionListener monthViewSelectionListener
private ActionListener monthViewActionListener
private PropertyChangeListener monthViewPropertyListener
private BasicDatePickerUI.PopupRemover popupRemover
private PopupMenuListener popupMenuListener
public BasicDatePickerUI()
public static ComponentUI createUI(JComponent c)
public void installUI(JComponent c)
installUI
in class ComponentUI
public void uninstallUI(JComponent c)
uninstallUI
in class ComponentUI
protected void installComponents()
private DateFormat[] getCustomFormats(JFormattedTextField editor)
editor
- the editor to checkprotected void uninstallComponents()
protected void installDefaults()
protected void uninstallDefaults()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
protected void installLinkPanelKeyboardActions()
protected void uninstallLinkPanelKeyboardActions(JComponent panel)
panel
- the component to uninstallprotected void installListeners()
protected void uninstallListeners()
protected void updateMonthViewListeners(JXMonthView oldMonthView)
oldMonthView
- protected void updateEditorListeners(JFormattedTextField oldEditor)
oldEditor
- the pickers editor before the changeprivate void uninstallEditorListeners(JFormattedTextField oldEditor)
oldEditor
- the editor to uninstall.protected void updateSelectionModelListeners(DateSelectionModel oldModel)
oldModel
- the dateSelectionModel before the change, may be null.protected JFormattedTextField createEditor()
protected JButton createPopupButton()
public Dimension getMinimumSize(JComponent c)
getMinimumSize
in class ComponentUI
public Dimension getPreferredSize(JComponent c)
getPreferredSize
in class ComponentUI
public int getBaseline(int width, int height)
DatePickerUI
getBaseline
in class DatePickerUI
width
- Width of the component to determine baseline for.height
- Height of the component to determine baseline for.public Date getSelectableDate(Date date) throws PropertyVetoException
getSelectableDate
in class DatePickerUI
date
- date to checkPropertyVetoException
- if the given date is not valid for
selectionprotected void updateFromDateChanged()
protected void updateFromValueChanged(Date oldDate, Date newDate)
oldDate
- the editor value before the changenewDate
- the editor value after the changeprivate void revertValue(Date oldDate)
oldDate
- the old date to revert toprotected void updateFromSelectionChanged(DateSelectionEvent.EventType eventType, boolean adjusting)
eventType
- the type of the selection changeadjusting
- flag to indicate whether the the selection change
is intermediateprotected void updateFromMonthViewChanged(JXMonthView oldMonthView)
Cleans to popup. Wires the listeners. Updates date. Updates formats' timezone.
oldMonthView
- the picker's monthView before the change,
may be null.protected void updateFromEditorChanged(JFormattedTextField oldEditor, boolean updateListeners)
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.
oldEditor
- the picker's editor before the change,
may be null.updateListeners
- a flag to indicate whether the listeners
are ready for usage.private void updateEditorProperties()
protected void updateFromSelectionModelChanged(DateSelectionModel oldModel)
oldModel
- the model before the change.private void updateEditorValue()
protected void updateFromEditableChanged()
protected void updateFromEnabledChanged()
private void setActionEnabled(String key, boolean enabled)
key
- enabled
- protected void updateFormatsFromTimeZone(TimeZone zone)
zone
- the timezone to set on the formats.protected void updateTimeZone(TimeZone old)
old
- the timezone before the change.protected void updateLinkDate()
protected void updateLocale()
private void updateFormatLocale(Locale locale)
private void updateChildLocale(Locale locale)
protected void updateLinkPanel(JComponent oldLinkPanel)
oldLinkPanel
- protected void commit()
protected void cancel()
public void hidePopup()
public boolean isPopupVisible()
protected void home(boolean commit)
commit
- boolean to indicate whether the linkDate should be
selected and committedprivate Action createCommitAction()
private Action createCancelAction()
private Action createHomeAction(boolean commit)
protected BasicDatePickerUI.TogglePopupAction createTogglePopupAction()
public void toggleShowPopup()
protected void installPopup()
protected void uninstallPopup()
protected PopupMenuListener getPopupMenuListener()
protected PopupMenuListener createPopupMenuListener()
private BasicDatePickerUI.BasicDatePickerPopup createMonthViewPopup()
protected PropertyChangeListener createMonthViewPropertyListener()
protected FocusListener createFocusListener()
protected ActionListener createEditorActionListener()
protected ActionListener createMonthViewActionListener()
protected DateSelectionListener createMonthViewSelectionListener()
protected PropertyChangeListener createEditorPropertyListener()
private BasicDatePickerUI.Handler getHandler()
protected PropertyChangeListener createPropertyChangeListener()
protected LayoutManager createLayoutManager()
protected MouseListener createMouseListener()
protected MouseMotionListener createMouseMotionListener()
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses