org.opensha.commons.param.editor.impl
Class StringParameterEditor

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.opensha.commons.gui.LabeledBorderPanel
                      extended by org.opensha.commons.param.editor.AbstractParameterEditor<String>
                          extended by org.opensha.commons.param.editor.impl.StringParameterEditor
All Implemented Interfaces:
FocusListener, KeyListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ParameterEditor<String>

public class StringParameterEditor
extends AbstractParameterEditor<String>
implements FocusListener, KeyListener

Title: IntegerParameterEditor

Description: Subclass of ParameterEditor for editing StringParameters. The widget is an JTextField.

The main functionality overidden from the parent class to achive Integer cusomization are the setWidgetObject() and AddWidget() functions. The parent's class JComponent valueEditor field becomes an IntegerTextField, a subclass of a JTextField.

Version:
1.0
Author:
Steven W. Rock
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
protected static String C
          Class name for debugging.
protected static boolean D
          If true print out debug statements.
 
Fields inherited from class org.opensha.commons.param.editor.AbstractParameterEditor
CONST_BORDER, DEFAULT_FONT, ETCHED, FOCUS_BORDER, LABEL_DIM, LABEL_PANEL_DIM, WIGET_PANEL_DIM
 
Fields inherited from class org.opensha.commons.gui.LabeledBorderPanel
addDefault, borderColor, editorPanel, GBL, jScrollPane1, mainPanel, PARAMETER_LABEL_FONT, PARAMTER_FORE_COLOR, title
 
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
protected StringParameterEditor()
          No-Arg constructor calls parent constructtor
  StringParameterEditor(Parameter model)
          Constructor that sets the parameter that it edits.
 
Method Summary
protected  JComponent buildWidget()
          This will be called by refreshParamEditor to initially build the widget component.
 void focusGained(FocusEvent e)
           
 void focusLost(FocusEvent e)
          Called when the user clicks on another area of the GUI outside this editor panel.
 boolean isParameterSupported(Parameter<String> param)
          Abstract method that allows subclasses to define if a specific parameter is valid.
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
          Called everytime a key is typed in the text field to validate it as a valid integer character ( digits and - sign in first position ).
 void setEnabled(boolean enabled)
           
protected  JComponent updateWidget()
          This is called by refreshParamEditor when the parameters value is changed externally and the widget needs to be updated to reflect the new value.
 
Methods inherited from class org.opensha.commons.param.editor.AbstractParameterEditor
getComponent, getLabelToolTipText, getParameter, getValue, getWidget, getWidgetToolTipText, isFocusEnabled, makeSingleConstraintValueLabel, refreshParamEditor, removeWidget, setEditorBorder, setFocusEnabled, setParameter, setValue, unableToSetValue, updateTitle
 
Methods inherited from class org.opensha.commons.gui.LabeledBorderPanel
add, add, add, add, add, getBorderColor, getTitle, initParameterLookAndFeel, jbInit, remove, remove, removeAll, setBorderColor, setLayout, setTitle, setTitleFont, setTitleJustification, setTitlePosition
 
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, 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
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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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
 
Methods inherited from interface org.opensha.commons.param.editor.ParameterEditor
isVisible, setVisible
 

Field Detail

C

protected static final String C
Class name for debugging.

See Also:
Constant Field Values

D

protected static final boolean D
If true print out debug statements.

See Also:
Constant Field Values
Constructor Detail

StringParameterEditor

protected StringParameterEditor()
No-Arg constructor calls parent constructtor


StringParameterEditor

public StringParameterEditor(Parameter model)
                      throws Exception
Constructor that sets the parameter that it edits. An Exception is thrown if the model is not an StringParameter. Note: When calling the super() constuctor addWidget() is called which configures the IntegerTextField as the editor widget.

Throws:
Exception
Method Detail

keyTyped

public void keyTyped(KeyEvent e)
Called everytime a key is typed in the text field to validate it as a valid integer character ( digits and - sign in first position ).

Specified by:
keyTyped in interface KeyListener

focusLost

public void focusLost(FocusEvent e)
Called when the user clicks on another area of the GUI outside this editor panel. This synchornizes the editor text field value to the internal parameter reference.

Specified by:
focusLost in interface FocusListener

isParameterSupported

public boolean isParameterSupported(Parameter<String> param)
Description copied from class: AbstractParameterEditor
Abstract method that allows subclasses to define if a specific parameter is valid. An editor could, for example, disallow null parameters or only allow parameters with a specific type of constraint. This is called when setParameter is called.

Specified by:
isParameterSupported in class AbstractParameterEditor<String>
Returns:

setEnabled

public void setEnabled(boolean enabled)
Specified by:
setEnabled in interface ParameterEditor<String>
Specified by:
setEnabled in class AbstractParameterEditor<String>

buildWidget

protected JComponent buildWidget()
Description copied from class: AbstractParameterEditor
This will be called by refreshParamEditor to initially build the widget component.

Specified by:
buildWidget in class AbstractParameterEditor<String>
Returns:
widget editing component to be displayed in the editor

updateWidget

protected JComponent updateWidget()
Description copied from class: AbstractParameterEditor
This is called by refreshParamEditor when the parameters value is changed externally and the widget needs to be updated to reflect the new value. If the widget can be simply updated to display/edit the new value, it should do so.

If it needs to be rebuilt, then this can either return null (which will result in a subsequent call to buildWidget), or return the new component.

Specified by:
updateWidget in class AbstractParameterEditor<String>
Returns:
updated component, or new component/null if it needs to be rebuilt

keyPressed

public void keyPressed(KeyEvent e)
Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent e)
Specified by:
keyReleased in interface KeyListener

focusGained

public void focusGained(FocusEvent e)
Specified by:
focusGained in interface FocusListener