Class PaletteFontChooserUI

  extended by javax.swing.plaf.ComponentUI
      extended by org.jhotdraw.gui.plaf.FontChooserUI
          extended by org.jhotdraw.gui.plaf.palette.PaletteFontChooserUI

public class PaletteFontChooserUI
extends FontChooserUI


Werner Randelshofer  @version 1.0 May 18, 2008 Created.

Nested Class Summary
private  class PaletteFontChooserUI.FontChooserHandler
private  class PaletteFontChooserUI.SelectionPanelHandler
Field Summary
private  PaletteFontChooserUI.FontChooserHandler chooserHandler
private  FontFamilyNode faceListParent
private  FontCollectionNode familyListParent
private  JFontChooser fontChooser
private  int isUpdating
          The value of this counter is greater 0, if the palette font chooser is updating, and should ignore incoming events.
private  PaletteFontChooserPreviewPanel previewPanel
private  PaletteFontChooserSelectionPanel selectionPanel
private  PaletteFontChooserUI.SelectionPanelHandler selectionPanelHandler
Constructor Summary
PaletteFontChooserUI(JFontChooser fontChooser)
Method Summary
static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
          Returns an instance of the UI delegate for the specified component.
private  void doCollectionChanged()
private  void doFaceChanged()
private  void doFamilyChanged()
protected  void installComponents(JFontChooser fc)
protected  void installListeners(JFontChooser fc)
 void installUI(javax.swing.JComponent c)
          Configures the specified component appropriate for the look and feel.
private  void setNewSelectionPath(FontCollectionNode newCollection, FontFamilyNode newFamily, FontFaceNode newFace)
protected  void uninstallComponents(JFontChooser fc)
protected  void uninstallListeners(JFontChooser fc)
 void uninstallUI(javax.swing.JComponent c)
          Reverses configuration which was done on the specified component during installUI.
private  void updateCollectionList()
private  void updateFaceList()
private  void updateFamilyList()
private  void updatePreview()
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


private FontCollectionNode familyListParent


private FontFamilyNode faceListParent


private JFontChooser fontChooser


private PaletteFontChooserSelectionPanel selectionPanel


private PaletteFontChooserPreviewPanel previewPanel


private PaletteFontChooserUI.SelectionPanelHandler selectionPanelHandler


private PaletteFontChooserUI.FontChooserHandler chooserHandler


private int isUpdating
The value of this counter is greater 0, if the palette font chooser is updating, and should ignore incoming events.

Constructor Detail


public PaletteFontChooserUI(JFontChooser fontChooser)
Method Detail


public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
Returns an instance of the UI delegate for the specified component. Each subclass must provide its own static createUI method that returns an instance of that UI delegate subclass. If the UI delegate subclass is stateless, it may return an instance that is shared by multiple components. If the UI delegate is stateful, then it should return a new instance per component. The default implementation of this method throws an error, as it should never be invoked.


public void installUI(javax.swing.JComponent c)
Configures the specified component appropriate for the look and feel. This method is invoked when the ComponentUI instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:
  1. Install any default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
  2. Install a LayoutManager on the component if necessary.
  3. Create/add any required sub-components to the component.
  4. Create/install event listeners on the component.
  5. Create/install a PropertyChangeListener on the component in order to detect and respond to component property changes appropriately.
  6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
  7. Initialize any appropriate instance data.

installUI in class javax.swing.plaf.ComponentUI
c - the component where this UI delegate is being installed
See Also:
uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()


protected void installComponents(JFontChooser fc)


protected void installListeners(JFontChooser fc)


public void uninstallUI(javax.swing.JComponent c)
Reverses configuration which was done on the specified component during installUI. This method is invoked when this UIComponent instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI, being careful to leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:
  1. Remove any UI-set borders from the component.
  2. Remove any UI-set layout managers on the component.
  3. Remove any UI-added sub-components from the component.
  4. Remove any UI-added event/property listeners from the component.
  5. Remove any UI-installed keyboard UI from the component.
  6. Nullify any allocated instance data objects to allow for GC.

uninstallUI in class javax.swing.plaf.ComponentUI
c - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
installUI(javax.swing.JComponent), JComponent.updateUI()


protected void uninstallComponents(JFontChooser fc)


protected void uninstallListeners(JFontChooser fc)


private void updateCollectionList()


private void updateFamilyList()


private void updateFaceList()


private void updatePreview()


private void doCollectionChanged()


private void doFamilyChanged()


private void doFaceChanged()


private void setNewSelectionPath(FontCollectionNode newCollection,
                                 FontFamilyNode newFamily,
                                 FontFaceNode newFace)