com.ozten.font
Class JFontChooser

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--com.ozten.font.JFontChooser
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JFontChooser
extends javax.swing.JComponent

JFontChooser - aka OzFontChooser a font selection widget. Please note this software is licensed under the LGPL. Please see LICENSE.txt distributed with this jar. This font selection dialog is intended to work just like the java.awt.JColorChooser.

JFontChooser provides a pane of controls designed to allow a user to manipulate and select a color.

This class provides three levels of API:
1. A static convenience method which shows a modal color-chooser dialog and returns the color selected by the user.
2. TODO: A static convenience method for creating a color-chooser dialog where ActionListeners can be specified to be invoked when the user presses one of the dialog buttons.
3. TODO: The ability to create instances of JColorChooser panes directly (within any container). PropertyChange listeners can be added to detect when the current "color" property changes.

This class includes a main method for testing the widget. To run type

java -jar JFontChooser

to use in your app... put this jar in your classpath and then type

import com.ozten.font.JFontChooser;

then when you want to get a font from the user..

Font f = JFontChooser.showDialog(frame);

Please send suggestions, and bug reports to me

Version:
0.21 OTHER TODOS and questions...
1 - Do I need to code up a JFontChooser.AccessibleJFontChooser inner class to implement accessibility support???
2 - implement commented out method public static JDialog createDialog...
Author:
Ozten of CruftWorks.com
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
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
JFontChooser()
          Creates a font chooser with default font and size.
JFontChooser(java.awt.Font init)
          Create a font chooser with initial Font
JFontChooser(java.awt.Font init, java.lang.String sampleText)
          Create a font chooser with initial Font and text in preview window
 
Method Summary
static java.awt.Font getAvailableFont()
          Useful for grabing any old font
 java.lang.String[] getFontSizes()
           
 javax.swing.JDialog getJDialog()
           
 java.awt.Font getPreviewFont()
          When using JFontChooser as a component, use this to get the currently configured font.
 javax.swing.JTextArea getPreviewText()
           
static java.lang.String[] getSystemFonts()
           
static void main(java.lang.String[] args)
          Use this method to test the widget.
 void setJDialog(javax.swing.JDialog d)
           
 void setPreviewFont(java.awt.Font f)
           
 void setPreviewText(java.lang.String s)
           
static java.awt.Font showDialog(java.awt.Component c)
          This is a convience method for those whom don't want to pass a font, a sample String, and a Dialog title in.
static java.awt.Font showDialog(java.awt.Component c, java.lang.String title)
          This is a convience method for those whom don't want to pass a font, and a sample String in.
static java.awt.Font showDialog(java.awt.Component c, java.lang.String title, java.lang.String sampleText)
          This is a convience method for those whom don't want to pass a font in.
static java.awt.Font showDialog(java.awt.Component component, java.lang.String title, java.lang.String sampleText, java.awt.Font initial)
          Shows a modal font chooser dialog.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JFontChooser

public JFontChooser()
Creates a font chooser with default font and size.

JFontChooser

public JFontChooser(java.awt.Font init)
Create a font chooser with initial Font
Parameters:
init - - the initial Font to preview in chooser.

JFontChooser

public JFontChooser(java.awt.Font init,
                    java.lang.String sampleText)
Create a font chooser with initial Font and text in preview window
Parameters:
init - - the initial Font to preview in chooser.
sampleText - - the words to test the font on.
Method Detail

showDialog

public static java.awt.Font showDialog(java.awt.Component component,
                                       java.lang.String title,
                                       java.lang.String sampleText,
                                       java.awt.Font initial)
Shows a modal font chooser dialog. If user presses "OK" the dialog is disposed and the currently previewed font is returned. If the user selects "Cancel" then null is returned.
Parameters:
component - - the parent component for the Dialog.
title - - the title of the window such as "Choose Font"
sampleText - - the words to preview the font with
initial - - the font to start previewing with. You should pass in the current font being used for smooth user exp.
Returns:
Font you will get back either null if user cancels, or a new Font that the user has choosen.

getAvailableFont

public static java.awt.Font getAvailableFont()
Useful for grabing any old font
Returns:
Font that is first on in system, plain, 18pt

getSystemFonts

public static java.lang.String[] getSystemFonts()

getFontSizes

public java.lang.String[] getFontSizes()

getJDialog

public javax.swing.JDialog getJDialog()

setJDialog

public void setJDialog(javax.swing.JDialog d)

getPreviewText

public javax.swing.JTextArea getPreviewText()

setPreviewText

public void setPreviewText(java.lang.String s)

getPreviewFont

public java.awt.Font getPreviewFont()
When using JFontChooser as a component, use this to get the currently configured font.

setPreviewFont

public void setPreviewFont(java.awt.Font f)

showDialog

public static java.awt.Font showDialog(java.awt.Component c,
                                       java.lang.String title,
                                       java.lang.String sampleText)
This is a convience method for those whom don't want to pass a font in.
See Also:
showDialog(Component, String, String, Font)

showDialog

public static java.awt.Font showDialog(java.awt.Component c,
                                       java.lang.String title)
This is a convience method for those whom don't want to pass a font, and a sample String in.
See Also:
showDialog(Component, String, String, Font)

showDialog

public static java.awt.Font showDialog(java.awt.Component c)
This is a convience method for those whom don't want to pass a font, a sample String, and a Dialog title in.
See Also:
showDialog(Component, String, String, Font)

main

public static void main(java.lang.String[] args)
Use this method to test the widget.
Parameters:
none -  
Returns:
none