Package uk.ac.starlink.util.gui

# Class BasicFontChooser

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
uk.ac.starlink.util.gui.BasicFontChooser

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`, `RootPaneContainer`, `WindowConstants`

public class BasicFontChooser extends JDialog
BasicFontChooser is a dialog for choosing one of the available fonts. The size and style can also be selected. Usage follows that of JDialog (i.e. use the .show() method to reveal, dialogs can be modal or non-modal).

Version:
  $Id$
Author:
  Peter W. Draper
See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class javax.swing.JDialog

`JDialog.AccessibleJDialog`

## Nested classes/interfaces inherited from class java.awt.Dialog

`Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType`

## Nested classes/interfaces inherited from class java.awt.Window

`Window.AccessibleAWTWindow, Window.Type`

## 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

Fields
Modifier and Type
Field
Description
`protected boolean`
`accepted`
Whether selected font is accepted.
`protected JButton`
`cancelButton`
Cancel and exit button.
`protected JPanel`
`contentPane`
The dialog contentpane.
`protected String`
`currentFont`
Selected font name
`protected int`
`currentSize`
Selected font size.
`protected int`
`currentStyle`
Selected font style.
`protected JComboBox<String>`
`fontBox`
List of all available fonts.
`protected JTextField`
`fontDisplay`
Display of the currently selected font.
`protected JLabel`
`fontLabel`
Label for font selector.
`protected JButton`
`okButton`
Accept and exit button.
`protected JComboBox<Integer>`
`sizeBox`
List of pre-selected sizes.
`protected JLabel`
`sizeLabel`
Label for size selector.
`protected JComboBox<String>`
`styleBox`
List of possible styles.
`protected JLabel`
`styleLabel`
Label for style selector.

### Fields inherited from class javax.swing.JDialog

`accessibleContext, rootPane, rootPaneCheckingEnabled`

### Fields inherited from class java.awt.Dialog

`DEFAULT_MODALITY_TYPE`

### 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`

### Fields inherited from interface javax.swing.WindowConstants

`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

## Constructor Summary

Constructors
Constructor
Description
`BasicFontChooser()`
Construct an instance with default configuration.
`BasicFontChooser(Frame owner, String title, boolean modal)`
Construct an instance, setting the parent, window title and whether the dialog is modal.
`BasicFontChooser(String title)`
Construct an instance using the given window title.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`accepted()`
Return the exit status of the dialog.
`protected void`
`addFonts()`
Add all the available fonts.
`protected void`
`closeWindow(boolean accepted)`
Close the window.
`Font`
`getSelectedFont()`
Get the selected font.
`protected void`
`setFontName()`
Set a new default font name from the value in the font name combobox.
`protected void`
`setSize()`
Set a new default font size from the value in the size combobox.
`protected void`
`setStyle()`
Set the font style from the value in the style combobox.
`protected void`
`startup()`
Start common initialisation sequence.
`protected void`
`updateDisplay()`
Update the display to reflect the new font, size or style.

### Methods inherited from class javax.swing.JDialog

`addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

### Methods inherited from class java.awt.Dialog

`addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack`

### Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### accepted

protected boolean accepted
Whether selected font is accepted.

### contentPane

protected JPanel contentPane
The dialog contentpane.

### fontLabel

protected JLabel fontLabel
Label for font selector.

### sizeLabel

protected JLabel sizeLabel
Label for size selector.

### styleLabel

protected JLabel styleLabel
Label for style selector.

### styleBox

protected JComboBox<String> styleBox
List of possible styles.

### sizeBox

protected JComboBox<Integer> sizeBox
List of pre-selected sizes.

### fontBox

protected JComboBox<String> fontBox
List of all available fonts.

### fontDisplay

protected JTextField fontDisplay
Display of the currently selected font.

### okButton

protected JButton okButton
Accept and exit button.

### cancelButton

protected JButton cancelButton
Cancel and exit button.

### currentFont

protected String currentFont
Selected font name

### currentSize

protected int currentSize
Selected font size.

### currentStyle

protected int currentStyle
Selected font style.

## Constructor Details

### BasicFontChooser

public BasicFontChooser()
Construct an instance with default configuration.

### BasicFontChooser

public BasicFontChooser(String title)
Construct an instance using the given window title.

### BasicFontChooser

public BasicFontChooser(Frame owner, String title, boolean modal)
Construct an instance, setting the parent, window title and whether the dialog is modal.

## Method Details

### startup

protected void startup()
Start common initialisation sequence.

### addFonts

protected void addFonts()
Add all the available fonts.

### updateDisplay

protected void updateDisplay()
Update the display to reflect the new font, size or style.

### setFontName

protected void setFontName()
Set a new default font name from the value in the font name combobox.

### setSize

protected void setSize()
Set a new default font size from the value in the size combobox.

### setStyle

protected void setStyle()
Set the font style from the value in the style combobox.

### getSelectedFont

public Font getSelectedFont()
Get the selected font.

### accepted

public boolean accepted()
Return the exit status of the dialog. The selected font should only be used if this returns true.

### closeWindow

protected void closeWindow(boolean accepted)
Close the window. If argument is true then it is OK to return selected font.