public abstract class CalendarHeaderHandler
extends java.lang.Object
To install a custom implementation, register the class name of the custom
header handler with the key CalendarHeaderHandler.uiControllerID
, example:
UIManager.put(CalendarHeaderHandler.uiControllerID, "com.foo.bar.MagicHeaderHandler")
Basic navigation action should (will) be defined by the ui delegate itself (PENDING
JW: still incomplete in BasicMonthViewUI). This handler can modify/enhance
them as appropriate for its context.
PENDING JW: those icons ... who's responsible? Shouldn't we use any of the default arrows as defined in the laf anyway (are there any?)
Note: this is work-in-progress, be prepared to change if subclassing for custom requirements!
Modifier and Type | Field and Description |
---|---|
protected javax.swing.Icon |
monthDownImage |
protected javax.swing.Icon |
monthUpImage |
protected JXMonthView |
monthView |
static java.lang.String |
uiControllerID |
Constructor and Description |
---|
CalendarHeaderHandler() |
Modifier and Type | Method and Description |
---|---|
protected void |
componentOrientationChanged()
Synchronizes internal state which depends on the month view's
componentOrientation.
|
protected abstract javax.swing.JComponent |
createCalendarHeader()
Creates and returns the component used as header in a zoomable monthView.
|
protected java.awt.Font |
createDerivedFont()
Create a derived font used to when painting various pieces of the month
view component.
|
protected void |
fontChanged()
Synchronizes internal state which depends on the month view's font.
|
javax.swing.JComponent |
getHeaderComponent()
Returns a component to be used as header in a zoomable month view,
guaranteed to be not null.
|
void |
install(JXMonthView monthView)
Installs this handler to the given month view.
|
protected void |
installListeners()
Creates and registered listeners on the monthView as appropriate.
|
protected void |
installNavigationActions()
Installs and configures navigational actions.
|
protected void |
monthStringBackgroundChanged()
Synchronizes internal state which depends on the month view's
monthStringBackground.
|
void |
uninstall(JXMonthView monthView)
Uninstalls this handler from the given target month view.
|
protected void |
uninstallListeners()
Unregisters listeners which had been installed to the monthView.
|
public static final java.lang.String uiControllerID
protected JXMonthView monthView
protected javax.swing.Icon monthDownImage
protected javax.swing.Icon monthUpImage
public void install(JXMonthView monthView)
monthView
- the target month view to install to.public void uninstall(JXMonthView monthView)
monthView
- the target month view to install from.public javax.swing.JComponent getHeaderComponent()
protected void installListeners()
protected void uninstallListeners()
protected void monthStringBackgroundChanged()
protected void fontChanged()
protected void componentOrientationChanged()
protected abstract javax.swing.JComponent createCalendarHeader()
protected void installNavigationActions()
This implementation creates and installs wrappers around the scrollToPrevious/-NextMonth actions installed by the ui and configures them with the appropriate next/previous icons.
protected java.awt.Font createDerivedFont()