Package adams.gui.chooser
Class SelectOptionPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.chooser.AbstractChooserPanel<String[]>
-
- adams.gui.chooser.SelectOptionPanel
-
- All Implemented Interfaces:
CleanUpHandler
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class SelectOptionPanel extends AbstractChooserPanel<String[]>
Allows the user to select either a single or multiple options from a list of available options.- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.chooser.AbstractChooserPanel
AbstractChooserPanel.ChooseListener, AbstractChooserPanel.PopupMenuCustomizer
-
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
Fields Modifier and Type Field Description protected String
m_DialogTitle
the title for the dialog.protected boolean
m_Lenient
whether to use lenient mode.protected boolean
m_MultiSelect
whether to use multi-select.protected String[]
m_Options
the available options.-
Fields inherited from class adams.gui.chooser.AbstractChooserPanel
m_ButtonFavorites, m_ButtonSelection, m_ChangeListeners, m_ChooseListeners, m_ColorInvalid, m_ColorValid, m_Editable, m_InlineEditingEnabled, m_LabelPrefix, m_LabelPrefixSpacer, m_NoChooseYet, m_PanelButtons, m_PanelPrefix, m_PopupMenuCustomizer, m_Self, m_TextSelection, m_ToolTip
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description SelectOptionPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String[]
doChoose()
Performs the actual choosing of an object.protected String[]
fromString(String value)
Converts the string representation into its object representation.int
getCurrentIndex()
Returns the index of the currently selected option.int[]
getCurrentIndices()
Returns the indices of the currently selected options.String
getDialogTitle()
Returns the title to use for the dialog.String[]
getOptions()
Returns the options to choose from.protected int
indexOf(String[] options, String option)
Returns the index of the option in the provided array.protected void
initialize()
Initializes the members.boolean
isLenient()
Returns whether multiple options can be selected.boolean
isMultiSelect()
Returns whether multiple options can be selected.void
setCurrentIndex(int value)
Selects the option specified by the index.void
setCurrentIndices(int[] value)
Selects the options specified by the indices.void
setDialogTitle(String value)
Sets the title for the dialog.void
setLenient(boolean value)
Sets whether to make setting of options lenient.void
setMultiSelect(boolean value)
Sets whether to allow selection of multiple options.void
setOptions(String[] value)
Sets the options to choose from.protected String
toString(String[] value)
Converts the value into its string representation.-
Methods inherited from class adams.gui.chooser.AbstractChooserPanel
addChangeListener, addChooseListener, afterChoose, afterPasteFromClipboard, afterSetCurrent, beforeChoose, beforePasteFromClipboard, beforeSetCurrent, choose, cleanUp, copyToClipboard, fireCurrentValueChanged, getCurrent, getCurrentAsString, getDefaultString, getFavoritesClass, getPopupMenu, getPopupMenuCustomizer, getPrefix, getPrefixLabel, getSelectionColumns, getStringFromClipboard, getTextColumns, grabFocus, hasValue, initGUI, isEditable, isInlineEditingEnabled, isNoChooseYet, isValid, moveChooseButton, notifyChangeListeners, notifyChooseListeners, pasteFromClipboard, removeChangeListener, removeChooseListener, setCurrent, setCurrentAsString, setDefault, setEditable, setEnabled, setInlineEditingEnabled, setPopupMenuCustomizer, setPrefix, setTextColumns, setToolTipText, showFavoritesMenu, supportsFavorites, textFieldToolTipText, updatePreferredSize, updateValidity
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractChooserPanel<String[]>
-
indexOf
protected int indexOf(String[] options, String option)
Returns the index of the option in the provided array.- Parameters:
options
- the options to locate the search stringoption
- the option to search for- Returns:
- the index, -1 if not found in options
-
setOptions
public void setOptions(String[] value)
Sets the options to choose from.- Parameters:
value
- the options
-
getOptions
public String[] getOptions()
Returns the options to choose from.- Returns:
- the options
-
setCurrentIndex
public void setCurrentIndex(int value)
Selects the option specified by the index.- Parameters:
value
- the index to select
-
getCurrentIndex
public int getCurrentIndex()
Returns the index of the currently selected option.- Returns:
- the index, -1 if none selected
-
setCurrentIndices
public void setCurrentIndices(int[] value)
Selects the options specified by the indices.- Parameters:
value
- the indices to select
-
getCurrentIndices
public int[] getCurrentIndices()
Returns the indices of the currently selected options.- Returns:
- the indices
-
setDialogTitle
public void setDialogTitle(String value)
Sets the title for the dialog.- Parameters:
value
- the title
-
getDialogTitle
public String getDialogTitle()
Returns the title to use for the dialog.- Returns:
- the title
-
setMultiSelect
public void setMultiSelect(boolean value)
Sets whether to allow selection of multiple options.- Parameters:
value
- true if multi-select enabled
-
isMultiSelect
public boolean isMultiSelect()
Returns whether multiple options can be selected.- Returns:
- true if multi-select enabled
-
setLenient
public void setLenient(boolean value)
Sets whether to make setting of options lenient. If set, doesn't remove current ones if not present in available options.- Parameters:
value
- true if lenient
-
isLenient
public boolean isLenient()
Returns whether multiple options can be selected. If set, doesn't remove current ones if not present in available options.- Returns:
- true if lenient
-
toString
protected String toString(String[] value)
Converts the value into its string representation.- Specified by:
toString
in classAbstractChooserPanel<String[]>
- Parameters:
value
- the value to convert- Returns:
- the generated string
-
fromString
protected String[] fromString(String value)
Converts the string representation into its object representation.- Specified by:
fromString
in classAbstractChooserPanel<String[]>
- Parameters:
value
- the string value to convert- Returns:
- the generated object
-
doChoose
protected String[] doChoose()
Performs the actual choosing of an object.- Specified by:
doChoose
in classAbstractChooserPanel<String[]>
- Returns:
- the chosen object or null if none chosen
-
-