edu.princeton.toy.choosers
Class TFontChooserPane

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 edu.princeton.toy.choosers.TFontChooserPane
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener

public class TFontChooserPane
extends JPanel
implements ActionListener, ListSelectionListener

TFontChooserPane manages a set of fonts for various areas and allows the user to change those fonts for those areas.

See Also:
Serialized Form

Nested Class Summary
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String[] FONT_FAMILIES
          A list of all font families.
static int[] FONT_SIZES
          A list of all font sizes.
static int[] FONT_STYLE_MASKS
          Font style masks corresponding to the FONT_STYLES array.
static String[] FONT_STYLES
          Strings corresponding to the styles available.
static String UPDATE_COMMAND
          The command that causes the TFontChooserPane to update its components with the internal data.
 
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
TFontChooserPane(String[] fontAreas)
          Creates a new TFontChooserPane.
 
Method Summary
 void actionPerformed(ActionEvent e)
          Implement ActionListener to pay attention to changes in the areaComboBox.
 boolean doCommand(String command, Object extraInfo)
          Performs a command based on the argument.
 Font getFont(int areaIndex)
          Gets the font for a given area.
 void setFont(Font font, int areaIndex)
          Sets the font for a given area.
 void setFont(String family, boolean bold, boolean italic, int size, int areaIndex)
          Sets the font for a given area.
 void valueChanged(ListSelectionEvent e)
          Implement ListSelectionListener to pay attention to changes in the fontList, styleList, and sizeList.
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, 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, setEnabled, 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

UPDATE_COMMAND

public static final String UPDATE_COMMAND
The command that causes the TFontChooserPane to update its components with the internal data.


FONT_FAMILIES

public static final String[] FONT_FAMILIES
A list of all font families. This will later be rearranged so that "Default" is at the top.


FONT_STYLES

public static final String[] FONT_STYLES
Strings corresponding to the styles available.


FONT_STYLE_MASKS

public static final int[] FONT_STYLE_MASKS
Font style masks corresponding to the FONT_STYLES array.


FONT_SIZES

public static final int[] FONT_SIZES
A list of all font sizes. This is assumed to be in ascending order.

Constructor Detail

TFontChooserPane

public TFontChooserPane(String[] fontAreas)
Creates a new TFontChooserPane.

Method Detail

getFont

public Font getFont(int areaIndex)
Gets the font for a given area.

Parameters:
areaIndex - The index of the area whose font we're getting. An invalid value will result in an ArrayIndexOutOfBoundsException.
Returns:
The font for that area.

setFont

public void setFont(Font font,
                    int areaIndex)
Sets the font for a given area.

Parameters:
font - The new font for the given area. A null value will result in a NullPointerException.
areaIndex - The index of the area whose font we're setting. An invalid value will result in an ArrayIndexOutOfBoundsException.

setFont

public void setFont(String family,
                    boolean bold,
                    boolean italic,
                    int size,
                    int areaIndex)
Sets the font for a given area.

Parameters:
family - The family of the font. If null was passed or the family was not found, then & "Default" will be used.
bold - Wheter or not the font is bold.
italic - Wheter or not the font is italic.
size - The size of the font. The font size will be adjusted to the closest available size.
areaIndex - The index of the area whose font we're setting.

doCommand

public boolean doCommand(String command,
                         Object extraInfo)
Performs a command based on the argument.

Parameters:
command - A string representing the command. Note that pointer equality (not string equality) is tested here, so it is important to use the string constants defined in this class. An IllegalArgumentException will be thrown if the argument is invalid.
Returns:
True iff the command was executed sucessfully.

actionPerformed

public void actionPerformed(ActionEvent e)
Implement ActionListener to pay attention to changes in the areaComboBox.

Specified by:
actionPerformed in interface ActionListener

valueChanged

public void valueChanged(ListSelectionEvent e)
Implement ListSelectionListener to pay attention to changes in the fontList, styleList, and sizeList.

Specified by:
valueChanged in interface ListSelectionListener