schmitzm.swing
Class MultipleOptionPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JOptionPane
                  extended by schmitzm.swing.MultipleOptionPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class MultipleOptionPane
extends JOptionPane

Diese Klasse erweitert JOptionPane um einen Ok/Abbrechen-Dialog, der mehrfache Werte gleichzeitig abfragt. Die Art der Eingaben wird ueber Instanzen der Klasse InputOption spezifiziert.
Ueber die statische Funktion showMultipleInputDialog(Component,String,InputOption[]) kann ein solcher Dialog angezeigt werden.
Darueber hinaus bietet die statische Funktion showClassAndDescInputDialog(Component,String,Class[],String) einen speziellen Dialog, der eine Auswahl an Klassennamen anzeigt und zu der ausgewaehlten Klasse eine Beschreibung abfragt.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JOptionPane
JOptionPane.AccessibleJOptionPane
 
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  InputOption[] multipleOption
          Speichert die Eingabe-Optionen des MultipleOptionPane.
 
Fields inherited from class javax.swing.JOptionPane
CANCEL_OPTION, CLOSED_OPTION, DEFAULT_OPTION, ERROR_MESSAGE, icon, ICON_PROPERTY, INFORMATION_MESSAGE, INITIAL_SELECTION_VALUE_PROPERTY, INITIAL_VALUE_PROPERTY, initialSelectionValue, initialValue, INPUT_VALUE_PROPERTY, inputValue, message, MESSAGE_PROPERTY, MESSAGE_TYPE_PROPERTY, messageType, NO_OPTION, OK_CANCEL_OPTION, OK_OPTION, OPTION_TYPE_PROPERTY, options, OPTIONS_PROPERTY, optionType, PLAIN_MESSAGE, QUESTION_MESSAGE, SELECTION_VALUES_PROPERTY, selectionValues, UNINITIALIZED_VALUE, value, VALUE_PROPERTY, WANTS_INPUT_PROPERTY, wantsInput, WARNING_MESSAGE, YES_NO_CANCEL_OPTION, YES_NO_OPTION, YES_OPTION
 
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
MultipleOptionPane(InputOption[] multipleOption)
          Erzeugt einen neuen Ok/Abbrechen-Dialog mit mehrfachen Eingabefeldern.
 
Method Summary
 InputOption[] getMultipleOptions()
          Liefert die Eingabe-Optionen des MultipleOptionPane.
 Object[] getMultipleOptionValues()
          Liefert die Eingaben, die in dem MultipleOptionPane gemacht wurden.
 boolean multipleOptionsValid()
          Prueft, ob die Eingaben in allen Felden zulaessig sind.
static Object[] showClassAndDescInputDialog(Component parent, String title, Class[] classOption, String defaultText)
          Zeigt einen modalen Ok/Abbrechen-Dialog mit einem Klassen-Auswahlfeld und einem Text-Eingabefeld fuer eine Beschreibung an.
static Object[] showMultipleInputDialog(Component parent, String title, InputOption... option)
          Zeigt einen modalen Ok/Abbrechen-Dialog mit mehrfachen Eingabefeldern an.
static Object showMultipleOptionDialog(Component parent, int type, String title, Object message, String[] options, String initialValue)
          Zeigt einen Dialog mit mehreren Options-Buttons dar.
 
Methods inherited from class javax.swing.JOptionPane
createDialog, createDialog, createInternalFrame, getAccessibleContext, getDesktopPaneForComponent, getFrameForComponent, getIcon, getInitialSelectionValue, getInitialValue, getInputValue, getMaxCharactersPerLineCount, getMessage, getMessageType, getOptions, getOptionType, getRootFrame, getSelectionValues, getUI, getUIClassID, getValue, getWantsInput, paramString, selectInitialValue, setIcon, setInitialSelectionValue, setInitialValue, setInputValue, setMessage, setMessageType, setOptions, setOptionType, setRootFrame, setSelectionValues, setUI, setValue, setWantsInput, showConfirmDialog, showConfirmDialog, showConfirmDialog, showConfirmDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInputDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalConfirmDialog, showInternalInputDialog, showInternalInputDialog, showInternalInputDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalMessageDialog, showInternalOptionDialog, showMessageDialog, showMessageDialog, showMessageDialog, showOptionDialog, 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, setEnabled, 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
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

multipleOption

protected InputOption[] multipleOption
Speichert die Eingabe-Optionen des MultipleOptionPane.

Constructor Detail

MultipleOptionPane

public MultipleOptionPane(InputOption[] multipleOption)
Erzeugt einen neuen Ok/Abbrechen-Dialog mit mehrfachen Eingabefeldern.

Parameters:
multipleOption - Eingabe-Optionen
Method Detail

getMultipleOptions

public InputOption[] getMultipleOptions()
Liefert die Eingabe-Optionen des MultipleOptionPane.


multipleOptionsValid

public boolean multipleOptionsValid()
Prueft, ob die Eingaben in allen Felden zulaessig sind.


getMultipleOptionValues

public Object[] getMultipleOptionValues()
Liefert die Eingaben, die in dem MultipleOptionPane gemacht wurden.

Returns:
null falls der Dialog noch aktiv ist oder nicht ueber die Ok-Option verlassen wurde

showMultipleInputDialog

public static Object[] showMultipleInputDialog(Component parent,
                                               String title,
                                               InputOption... option)
Zeigt einen modalen Ok/Abbrechen-Dialog mit mehrfachen Eingabefeldern an.

Parameters:
parent - Uebergeordnetes Fenster, in dem der Dialog angezeigt wird (kann null sein)
title - Titel fuer den Dialog
option - Eingabefelder
Returns:
die Werte, die in den einzelnen Feldern gemacht wurden, oder null, falls der Dialog nicht ueber die Ok-Option verlassen wurde

showClassAndDescInputDialog

public static Object[] showClassAndDescInputDialog(Component parent,
                                                   String title,
                                                   Class[] classOption,
                                                   String defaultText)
Zeigt einen modalen Ok/Abbrechen-Dialog mit einem Klassen-Auswahlfeld und einem Text-Eingabefeld fuer eine Beschreibung an. Eine Eingabe in beiden Feldern ist zwingend erforderlich.

Parameters:
parent - Uebergeordnetes Fenster, in dem der Dialog angezeigt wird (kann null sein)
title - Titel fuer den Dialog
classOption - Klassen, die im Dialog zur Auswahl gestellt werden
defaultText - Default-Wert fuer das Text-Eingabefeld
Returns:
Array mit 2 Werten (0 = ausgewaehlte Klasse [Class]; 1 = eingegebene Beschreibung [String]), oder null, falls der Dialog nicht ueber die Ok-Option verlassen wurde

showMultipleOptionDialog

public static Object showMultipleOptionDialog(Component parent,
                                              int type,
                                              String title,
                                              Object message,
                                              String[] options,
                                              String initialValue)
Zeigt einen Dialog mit mehreren Options-Buttons dar.

Parameters:
parent - Parent-Komponente, ueber der der Dialog angezeigt wird
type - Art der Meldung (JOptionPane.ERROR_MESSAGE, JOptionPane.INFORMATION_MESSAGE oder JOptionPane.QUESTION_MESSAGE)
title - Titel des Dialog-Fensters
message - Meldung die angezeigt wird
options - Bezeichnungen der Button, die zur Auswahl stehen
initialValue - Bezeichnung des standardmaessig ausgewaehlten Button
Returns:
Die Bezeichnung (String) des Buttons, der ausgewaehlt wurde, oder null, wenn der Dialog ueber das System-Menu abgebrochen wurde