org.jhotdraw.gui.plaf.palette
Class PaletteFontChooserUI

java.lang.Object
  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

PaletteFontChooserUI.

Author:
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

familyListParent

private FontCollectionNode familyListParent

faceListParent

private FontFamilyNode faceListParent

fontChooser

private JFontChooser fontChooser

selectionPanel

private PaletteFontChooserSelectionPanel selectionPanel

previewPanel

private PaletteFontChooserPreviewPanel previewPanel

selectionPanelHandler

private PaletteFontChooserUI.SelectionPanelHandler selectionPanelHandler

chooserHandler

private PaletteFontChooserUI.FontChooserHandler chooserHandler

isUpdating

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

PaletteFontChooserUI

public PaletteFontChooserUI(JFontChooser fontChooser)
Method Detail

createUI

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.


installUI

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.

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

installComponents

protected void installComponents(JFontChooser fc)

installListeners

protected void installListeners(JFontChooser fc)

uninstallUI

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.

Overrides:
uninstallUI in class javax.swing.plaf.ComponentUI
Parameters:
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()

uninstallComponents

protected void uninstallComponents(JFontChooser fc)

uninstallListeners

protected void uninstallListeners(JFontChooser fc)

updateCollectionList

private void updateCollectionList()

updateFamilyList

private void updateFamilyList()

updateFaceList

private void updateFaceList()

updatePreview

private void updatePreview()

doCollectionChanged

private void doCollectionChanged()

doFamilyChanged

private void doFamilyChanged()

doFaceChanged

private void doFaceChanged()

setNewSelectionPath

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