schmitzm.swing
Class BrowseInputOption

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 schmitzm.swing.InputOption
                      extended by schmitzm.swing.ManualInputOption
                          extended by schmitzm.swing.BrowseInputOption
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
FileInputOption

public abstract class BrowseInputOption
extends ManualInputOption

Die BrowseInputOption erweitert die manuelle Text-Eingabe um eine Browse-Aktion. Welche konkrete Aktion beim Klick auf den Browse-Button ausgefuehrt wird, bestimmt die jeweinige Implementierung.
Der Wert dieser Eingabe-Option stellt keinen Text dar, sondern ein zugehoeriges Objekt. Um ein Objekt sowohl ueber eine manuelle Texteingabe, als auch ueber die Browse-Aktion angeben zu koennen, spezifiziert BrowseInputOption zwei Methoden (convertFromString(String), convertToString(Object)), ueber die eine entsprechende Umwandung zu implementieren ist.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class schmitzm.swing.ManualInputOption
ManualInputOption.Double, ManualInputOption.Integer, ManualInputOption.Text
 
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  JButton browseButton
          Der Button fuer die Browse-Aktion.
protected  Container inpCompCont
          Container enthaelt das Text-Eingabefeld und den Browse-Button.
protected  Object object
          Speichert den aktuellen Wert der Eingabe-Option.
 
Fields inherited from class schmitzm.swing.InputOption
descLabel, inpComp, invalidInputMess, OPTION_COMPONENT
 
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
BrowseInputOption(String label, boolean inputNeeded, Object defValue)
          Erzeugt eine neue Eingabe-Option.
 
Method Summary
abstract  Object convertFromString(String objectStr)
          Liefert das Objekt zu der Text-Eingabe der Option.
abstract  String convertToString(Object object)
          Erzeugt einen (eindeutigen) String fuer ein Objekt.
abstract  Object performBrowse(Object actValue)
          Implementiert die Browse-Aktion die ausgefuehrt wird, wenn der Button der Eingabe-Option gedrueckt wird.
protected  Object performGetValue()
          Liefert das zu der Text-Eingabe gehoerende Objekt.
protected  boolean performSetValue(Object newValue)
          Setzt den Wert der Eingabe-Option und befuellt entsprechend das Text-Feld der Eingabe-Option.
 
Methods inherited from class schmitzm.swing.ManualInputOption
createInputComponent, performIsInputEmpty, performIsInputValid
 
Methods inherited from class schmitzm.swing.InputOption
addInputOptionListener, fireFocusGained, fireFocusLost, fireOptionChanged, getDescriptionLabel, getInputComponent, getInvalidInputMessage, getLabel, getValue, grabFocus, inputEmpty, inputNeeded, isInputValid, removeInputOptionListener, setEnabled, setInputNeeded, setToolTipText, setValue
 
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, 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, 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

object

protected Object object
Speichert den aktuellen Wert der Eingabe-Option.


inpCompCont

protected Container inpCompCont
Container enthaelt das Text-Eingabefeld und den Browse-Button.


browseButton

protected JButton browseButton
Der Button fuer die Browse-Aktion.

Constructor Detail

BrowseInputOption

public BrowseInputOption(String label,
                         boolean inputNeeded,
                         Object defValue)
Erzeugt eine neue Eingabe-Option.

Parameters:
label - Beschreibung der Eingabe
inputNeeded - gibt an, ob eine Eingabe in der Option erforderlich ist
defValue - Standard-Belegung fuer die Eingabe-Option
Method Detail

performGetValue

protected Object performGetValue()
Liefert das zu der Text-Eingabe gehoerende Objekt.

Overrides:
performGetValue in class ManualInputOption

performSetValue

protected boolean performSetValue(Object newValue)
Setzt den Wert der Eingabe-Option und befuellt entsprechend das Text-Feld der Eingabe-Option.

Overrides:
performSetValue in class ManualInputOption
Parameters:
newValue - neuer Wert der Eingabe-Option (ein Objekt, nicht ein Wert fuer das Textfeld!)
Returns:
false falls das Objekt nicht in einen String umgewandelt werden konnte

performBrowse

public abstract Object performBrowse(Object actValue)
Implementiert die Browse-Aktion die ausgefuehrt wird, wenn der Button der Eingabe-Option gedrueckt wird. Liefert ein neues Objekt fuer die Eingabe-Option.

Parameters:
actValue - aktueller Wert der Eingabe-Option
Returns:
null falls die Browse-Aktion abgebrochen wird

convertFromString

public abstract Object convertFromString(String objectStr)
Liefert das Objekt zu der Text-Eingabe der Option.

Parameters:
objectStr - Objekt-String

convertToString

public abstract String convertToString(Object object)
Erzeugt einen (eindeutigen) String fuer ein Objekt.

Parameters:
object - Objekt