org.vizzini.ui.text
Class FontChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.vizzini.ui.text.FontChooser
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class FontChooser
extends JPanel

Provides a generic GUI component for selection of fonts.

A font changed event can be obtained by registering a java.beans.PropertyChangeListener using addFontListener().

Listener example:


    _fontUI.addFontListener(new PropertyChangeListener()

        {

            public void propertyChange(PropertyChangeEvent event)

            {

                FontChooser chooser = (FontChooser)event.getSource();

                Font font = (Font)event.getNewValue();

                // Do something

            }

        } );

 

Since:
v0.2
Version:
v0.2
Author:
Jeffrey M. Thompson
See Also:
Serialized Form

Nested Class Summary
(package private)  class FontChooser.FontRenderer
          This class renders a font by name in a combo box.
(package private)  class FontChooser.SizeRenderer
          This class renders a properly sized number in a combo box.
(package private)  class FontChooser.StyleRenderer
          This class renders a properly styled description in a combo box.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected static char[] ALPHANUMERICS
          List of alpha-numeric characters which need to be supported.
static String FONT_PROPERTY
          Name of the font property.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FontChooser()
          Construct this object.
 
Method Summary
 void addFontListener(PropertyChangeListener listener)
          Add a property listener for the font property.
protected  JComboBox createSizeUI()
          Create the size user interface.
protected  JComboBox createStyleUI()
          Create the style user interface.
protected  JComboBox createTypeUI()
          Create the type user interface.
protected static Font deriveFont(String family, int style, int size)
          Derive the new font from the selected items.
 Font getFontChoice()
          Return the chosen font.
protected  int getFontStyleFrom(String styleName)
          Return the font style from the given string.
 boolean isDirty()
           
protected static boolean isSpecialString(String string)
          Return true if this string has non-printable characters.
 void removeFontListener(PropertyChangeListener listener)
          Remove a property listener for the font property.
protected  void resetFont()
          Reset the font from the font components, and notify listeners.
 void setDirty(boolean isDirty)
           
 void setEnabled(boolean enabled)
          Set the enabled state of this widget.
 void setFontChoice(Font font)
          Set the chosen font.
 void setPreviewHeight(int height)
          Set the height of the preview widget.
 void setPreviewText(String text)
          Set the text of the preview widget.
 void setPreviewVisible(boolean isVisible)
          Set the visibility of the preview widget.
 void setTitle(String title)
          Create a titled border with the given string.
protected  void updatePreviewUI()
          Update the preview widget for a new font choice.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FONT_PROPERTY

public static final String FONT_PROPERTY
Name of the font property.

See Also:
Constant Field Values

ALPHANUMERICS

protected static final char[] ALPHANUMERICS
List of alpha-numeric characters which need to be supported.

Constructor Detail

FontChooser

public FontChooser()
Construct this object.

Since:
v0.2
Method Detail

addFontListener

public void addFontListener(PropertyChangeListener listener)
Add a property listener for the font property.

Since:
v0.2

getFontChoice

public Font getFontChoice()
Return the chosen font.

Since:
v0.2

isDirty

public boolean isDirty()
Returns:
Return isDirty.
Since:
v0.2

removeFontListener

public void removeFontListener(PropertyChangeListener listener)
Remove a property listener for the font property.

Since:
v0.2

setDirty

public void setDirty(boolean isDirty)
Parameters:
isDirty - The isDirty to set.

setEnabled

public void setEnabled(boolean enabled)
Set the enabled state of this widget.

Overrides:
setEnabled in class JComponent
Since:
v0.2

setFontChoice

public void setFontChoice(Font font)
Set the chosen font.

Parameters:
font - The new font.
Throws:
IllegalArgumentException - if font is null.
Since:
v0.2

setPreviewHeight

public void setPreviewHeight(int height)
Set the height of the preview widget.

Parameters:
height - The new height in pixels.
Throws:
IllegalArgumentException - if height is less than zero.
Since:
v0.2

setPreviewText

public void setPreviewText(String text)
Set the text of the preview widget.

Parameters:
text - The new text.
Since:
v0.2

setPreviewVisible

public void setPreviewVisible(boolean isVisible)
Set the visibility of the preview widget.

Parameters:
isVisible - Flag indicating whether the preview pane is visible.
Since:
v0.2

setTitle

public void setTitle(String title)
Create a titled border with the given string.

Parameters:
title - The title for the titled border.
Since:
v0.2

deriveFont

protected static Font deriveFont(String family,
                                 int style,
                                 int size)
Derive the new font from the selected items.

Since:
v0.2

isSpecialString

protected static boolean isSpecialString(String string)
Return true if this string has non-printable characters.

Parameters:
string - The string of interest.
Since:
v0.2

createSizeUI

protected JComboBox createSizeUI()
Create the size user interface.

Since:
v0.2

createStyleUI

protected JComboBox createStyleUI()
Create the style user interface.

Since:
v0.2

createTypeUI

protected JComboBox createTypeUI()
Create the type user interface.

Since:
v0.2

getFontStyleFrom

protected int getFontStyleFrom(String styleName)
Return the font style from the given string.

Since:
v0.2

resetFont

protected void resetFont()
Reset the font from the font components, and notify listeners.

Since:
v0.2

updatePreviewUI

protected void updatePreviewUI()
Update the preview widget for a new font choice.

Since:
v0.2


Copyright 2007 Vizzini.org. All Rights Reserved. 2007.12.25.03.00.02