org.geotoolkit.gui.swing
Class FormatChooser

Object
  extended by Component
      extended by Container
          extended by JComponent
              extended by FormatChooser
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Dialog

public class FormatChooser
extends JComponent
implements Dialog

Selects the pattern to use for formating numbers, angles or dates. This widget can be used with one of Format objects working with pattern, like DecimalFormat, SimpleDateFormat or AngleFormat.

Since:
2.0
Version:
3.12
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form
Module:
display/geotk-widgets-swing (download)    View source code for this class

Nested Class Summary
 
Nested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Format format
          The format to configure by this FormatChooser.
 
Fields inherited from class 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 Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FormatChooser(Format format)
          Constructs a pattern chooser for the given format.
 
Method Summary
 void commitEdit()
          Forces the current value to be taken from the editable fields and set them as the current values.
 Format getFormat()
          Returns the current format.
 String getPattern()
          Returns the localized pattern for the current format.
 Object getSampleValue()
          Returns the sample value to format as a "preview" text.
 void setFormat(Format format)
          Sets the format to configure.
 void setPattern(String pattern)
          Sets the localized pattern for the current format.
 void setSampleValue(Object value)
          Sets the sample value to format as a "preview" text.
 boolean showDialog(Component owner, String title)
          Shows a dialog box requesting input from the user.
 
Methods inherited from class JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
Methods inherited from class 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 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 Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

format

protected Format format
The format to configure by this FormatChooser.

Constructor Detail

FormatChooser

public FormatChooser(Format format)
              throws IllegalArgumentException
Constructs a pattern chooser for the given format.

Parameters:
format - The format to configure. The default implementation accepts instance of DecimalFormat, SimpleDateFormat or AngleFormat.
Throws:
IllegalArgumentException - if the format is invalid.
Method Detail

getFormat

public Format getFormat()
Returns the current format.

Returns:
The current format.

setFormat

public void setFormat(Format format)
               throws IllegalArgumentException
Sets the format to configure. The default implementation accepts instance of DecimalFormat, SimpleDateFormat or AngleFormat. If more format classes are wanted, then the methods getPattern() and setPattern(java.lang.String) need to be overridden.

Parameters:
format - The format to congifure.
Throws:
IllegalArgumentException - if the format is invalid.

getSampleValue

public Object getSampleValue()
Returns the sample value to format as a "preview" text. If no such object is defined, then this method returns null.

Returns:
The sample value to use for preview.

setSampleValue

public void setSampleValue(Object value)
                    throws IllegalArgumentException
Sets the sample value to format as a "preview" text. The value should be an object formatable with getFormat().

Parameters:
value - The value to format in previews, or null.
Throws:
IllegalArgumentException - if the value can't be formatted.

getPattern

public String getPattern()
                  throws IllegalStateException
Returns the localized pattern for the current format. The default implementation recognize DecimalFormat, SimpleDateFormat and AngleFormat instances.

Returns:
The pattern for the current format.
Throws:
IllegalStateException - is the current format is not one of recognized type.

setPattern

public void setPattern(String pattern)
                throws IllegalStateException,
                       IllegalArgumentException
Sets the localized pattern for the current format. The default implementation recognize DecimalFormat, SimpleDateFormat and AngleFormat instances.

Parameters:
pattern - The pattern for the current format.
Throws:
IllegalStateException - is the current format is not one of recognized type.
IllegalArgumentException - if the specified pattern is invalid.

commitEdit

public void commitEdit()
                throws ParseException
Forces the current value to be taken from the editable fields and set them as the current values. If this operation fails for at least one field, this method will set the focus on the offending field before to throw the exception.

This method is typically invoked after Dialog.showDialog(Component, String) returned true and before to read the values from the dialog widget.

Specified by:
commitEdit in interface Dialog
Throws:
ParseException - If at least one values couldn't be commited.
Since:
3.12
See Also:
JFormattedTextField.commitEdit(), JSpinner.commitEdit()

showDialog

public boolean showDialog(Component owner,
                          String title)
Shows a dialog box requesting input from the user. The dialog box will be parented to owner. If owner is contained into a JDesktopPane, the dialog box will appears as an internal frame.

Multi-threading
Geotk implementations allow this method to be invoked from any thread. If the caller thread is not the Swing thread, then the execution of this method will be registered in the AWT Event Queue and the caller thread will block until completion.

Specified by:
showDialog in interface Dialog
Parameters:
owner - The parent component for the dialog box, or null if there is no parent.
title - The dialog box title.
Returns:
true if user pressed the "Ok" button, or false otherwise (e.g. pressing "Cancel" or closing the dialog box from the title bar).


Copyright © 2009-2013 Geotoolkit.org. All Rights Reserved.