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 CalendarHeaderHandler

    java.lang.Object
      org.jdesktop.swingx.plaf.basic.CalendarHeaderHandler

Direct Known Subclasses:
  BasicCalendarHeaderHandler, SpinningCalendarHeaderHandler

    public abstract class CalendarHeaderHandler

extends java.lang.Object

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!

Author:
  Jeanette Winzenburg

Field Summary
`protected javax.swing.Icon` | `monthDownImage`
`protected javax.swing.Icon` | `monthUpImage`
`protected JXMonthView` | `monthView`
`static java.lang.String` | `uiControllerID`

Constructor Summary
`CalendarHeaderHandler()`

Method Summary
`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.

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

Field Detail

### uiControllerID

    public static final java.lang.String uiControllerID

See Also:
  Constant Field Values

### monthView

    protected JXMonthView monthView

### monthDownImage

    protected javax.swing.Icon monthDownImage

### monthUpImage

    protected javax.swing.Icon monthUpImage

Constructor Detail

### CalendarHeaderHandler

    public CalendarHeaderHandler()

Method Detail

### install

    public void install(JXMonthView monthView)

  Installs this handler to the given month view.

  Parameters:
    `monthView` - the target month view to install to.

### uninstall

    public void uninstall(JXMonthView monthView)

  Uninstalls this handler from the given target month view.

  Parameters:
    `monthView` - the target month view to install from.

### getHeaderComponent

    public javax.swing.JComponent getHeaderComponent()

  Returns a component to be used as header in a zoomable month view, guaranteed to be not null.

  Returns:
    a component to be used as header in a zoomable JXMonthView

### installListeners

    protected void installListeners()

  Creates and registered listeners on the monthView as appropriate. This implementation registers a PropertyChangeListener which synchronizes internal state on changes of componentOrientation, font and monthStringBackground.

### uninstallListeners

    protected void uninstallListeners()

  Unregisters listeners which had been installed to the monthView.

### monthStringBackgroundChanged

    protected void monthStringBackgroundChanged()

  Synchronizes internal state which depends on the month view's monthStringBackground.

### fontChanged

    protected void fontChanged()

  Synchronizes internal state which depends on the month view's font.

### componentOrientationChanged

    protected void componentOrientationChanged()

  Synchronizes internal state which depends on the month view's componentOrientation. This implementation updates the month navigation icons and the header component's orientation.

### createCalendarHeader

    protected abstract javax.swing.JComponent createCalendarHeader()

  Creates and returns the component used as header in a zoomable monthView.

  Returns:
    the component used as header in a zoomable monthView, guaranteed to be not null.

### installNavigationActions

    protected void installNavigationActions()

  Installs and configures navigational actions.

  This implementation creates and installs wrappers around the scrollToPrevious/-NextMonth actions installed by the ui and configures them with the appropriate next/previous icons.

### createDerivedFont

    protected java.awt.Font createDerivedFont()

  Create a derived font used to when painting various pieces of the month view component. This method will be called whenever the font on the component is set so a new derived font can be created.

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.