|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jdesktop.swingx.plaf.basic.CalendarHeaderHandler
public abstract class CalendarHeaderHandler
Provides and wires a component appropriate as a calendar navigation header. The design idea is to support a pluggable header for a zoomable (PENDING JW: naming!) JXMonthView. Then custom implementations can be tailored to exactly fit their needs.
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!
Field Summary | |
---|---|
protected Icon |
monthDownImage
|
protected Icon |
monthUpImage
|
protected JXMonthView |
monthView
|
static String |
uiControllerID
|
Constructor Summary | |
---|---|
CalendarHeaderHandler()
|
Method Summary | |
---|---|
protected void |
componentOrientationChanged()
Synchronizes internal state which depends on the month view's componentOrientation. |
protected abstract JComponent |
createCalendarHeader()
Creates and returns the component used as header in a zoomable monthView. |
protected 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. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String uiControllerID
protected JXMonthView monthView
protected Icon monthDownImage
protected Icon monthUpImage
Constructor Detail |
---|
public CalendarHeaderHandler()
Method Detail |
---|
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 JComponent getHeaderComponent()
protected void installListeners()
protected void uninstallListeners()
protected void monthStringBackgroundChanged()
protected void fontChanged()
protected void componentOrientationChanged()
protected abstract 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 Font createDerivedFont()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |