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,BaseTextComponent,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 Stringm_DialogTitlethe title for the dialog.protected booleanm_Lenientwhether to use lenient mode.protected booleanm_MultiSelectwhether to use multi-select.protected String[]m_Optionsthe 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.intgetCurrentIndex()Returns the index of the currently selected option.int[]getCurrentIndices()Returns the indices of the currently selected options.StringgetDialogTitle()Returns the title to use for the dialog.String[]getOptions()Returns the options to choose from.protected intindexOf(String[] options, String option)Returns the index of the option in the provided array.protected voidinitialize()Initializes the members.booleanisLenient()Returns whether multiple options can be selected.booleanisMultiSelect()Returns whether multiple options can be selected.voidsetCurrentIndex(int value)Selects the option specified by the index.voidsetCurrentIndices(int[] value)Selects the options specified by the indices.voidsetDialogTitle(String value)Sets the title for the dialog.voidsetLenient(boolean value)Sets whether to make setting of options lenient.voidsetMultiSelect(boolean value)Sets whether to allow selection of multiple options.voidsetOptions(String[] value)Sets the options to choose from.protected StringtoString(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, getText, getTextColumns, grabFocus, hasValue, initGUI, isEditable, isInlineEditingEnabled, isNoChooseYet, isValid, moveChooseButton, notifyChangeListeners, notifyChooseListeners, pasteFromClipboard, removeChangeListener, removeChooseListener, setCurrent, setCurrentAsString, setDefault, setEditable, setEnabled, setInlineEditingEnabled, setPopupMenuCustomizer, setPrefix, setText, 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:
initializein 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:
toStringin 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:
fromStringin 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:
doChoosein classAbstractChooserPanel<String[]>- Returns:
- the chosen object or null if none chosen
-
-