Package docking.widgets
Class DropDownMultiSelectionTextField<T>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextField
-
- docking.widgets.DropDownTextField<T>
-
- docking.widgets.DropDownSelectionTextField<T>
-
- docking.widgets.DropDownMultiSelectionTextField<T>
-
- Type Parameters:
T- the type of data stored in the drop down
- All Implemented Interfaces:
GComponent,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.Scrollable,javax.swing.SwingConstants
public class DropDownMultiSelectionTextField<T> extends DropDownSelectionTextField<T>
Extension of theDropDownSelectionTextFieldthat allows multiple items to be selected.Note that multiple selection introduces some display complications that are not an issue with single selection. Namely:
- how do you display multiple selected items in the preview pane
- how do you display those same items in the drop down text field
- let the preview panel operate normally; it will simply display the preview text for whatever was last selected
- display all selected items in the drop down text field as a comma-delimited list
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class docking.widgets.DropDownTextField
dataModel, internallyDrivenUpdate, list, TOOLTIP_WINDOW_BGCOLOR
-
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 docking.widgets.GComponent
HTML_DISABLE_STRING
-
-
Constructor Summary
Constructors Constructor Description DropDownMultiSelectionTextField(DropDownTextFieldDataModel<T> dataModel)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDropDownSelectionChoiceListener(DropDownMultiSelectionChoiceListener<T> listener)Adds the caller to a list of subscribers who will be notified when selection changes.voidaddDropDownSelectionChoiceListener(DropDownSelectionChoiceListener<T> listener)Adds a listener that will be called back when the user makes a choice from the drop-down list.protected javax.swing.ListSelectionModelcreateListSelectionModel()protected javax.swing.event.ListSelectionListenergetPreviewListener()protected javax.swing.JComponentgetPreviewPaneComponent()java.util.List<T>getSelectedValues()Returns a list of all selected items in the list.protected booleanhasPreview()protected voidsetPreviewPaneAttributes()voidsetSelectedValue(T value)Sets the current selection on this text field.protected voidsetTextFromList()protected voidsetTextFromSelectedListItemAndKeepMatchingWindowOpen()-
Methods inherited from class docking.widgets.DropDownTextField
addCellEditorListener, closeDropDownWindow, getMatchingData, getSelectedValue, hideMatchingWindow, isMatchingListShowing, processKeyBinding, removeCellEditorListener, setConsumeEnterKeyPress, setIgnoreEnterKeyPress, setMatchingWindowHeight, setSelectedItems, setText, setTextWithoutClosingCompletionWindow
-
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write
-
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface docking.widgets.GComponent
getHTMLRenderingEnabled, setHTMLRenderingEnabled
-
-
-
-
Constructor Detail
-
DropDownMultiSelectionTextField
public DropDownMultiSelectionTextField(DropDownTextFieldDataModel<T> dataModel)
Constructor.- Parameters:
dataModel- the model for the drop down widget
-
-
Method Detail
-
addDropDownSelectionChoiceListener
public void addDropDownSelectionChoiceListener(DropDownMultiSelectionChoiceListener<T> listener)
Adds the caller to a list of subscribers who will be notified when selection changes.- Parameters:
listener- the subscriber to be added
-
addDropDownSelectionChoiceListener
public void addDropDownSelectionChoiceListener(DropDownSelectionChoiceListener<T> listener)
Description copied from class:DropDownTextFieldAdds a listener that will be called back when the user makes a choice from the drop-down list. A choice is a user action that triggers the selection window to be closed and updates the text field.Note: the listener is stored in a
weak data structure, so you must maintain a reference to the listener you pass in--anonymous classes or lambdas will not work.- Overrides:
addDropDownSelectionChoiceListenerin classDropDownTextField<T>
-
getSelectedValues
public java.util.List<T> getSelectedValues()
Returns a list of all selected items in the list.- Returns:
- the selected items
-
createListSelectionModel
protected javax.swing.ListSelectionModel createListSelectionModel()
- Overrides:
createListSelectionModelin classDropDownSelectionTextField<T>
-
setPreviewPaneAttributes
protected void setPreviewPaneAttributes()
- Overrides:
setPreviewPaneAttributesin classDropDownTextField<T>
-
hasPreview
protected boolean hasPreview()
- Overrides:
hasPreviewin classDropDownTextField<T>
-
getPreviewListener
protected javax.swing.event.ListSelectionListener getPreviewListener()
- Overrides:
getPreviewListenerin classDropDownTextField<T>
-
getPreviewPaneComponent
protected javax.swing.JComponent getPreviewPaneComponent()
- Overrides:
getPreviewPaneComponentin classDropDownTextField<T>
-
setTextFromList
protected void setTextFromList()
- Overrides:
setTextFromListin classDropDownTextField<T>
-
setSelectedValue
public void setSelectedValue(T value)
Description copied from class:DropDownTextFieldSets the current selection on this text field. This will store the provided value and set the text of the text field to be the name of that value. If the given value is null, then the text of this field will be cleared.- Overrides:
setSelectedValuein classDropDownTextField<T>- Parameters:
value- The value that is to be the current selection or null to clear the selected value of this text field.
-
setTextFromSelectedListItemAndKeepMatchingWindowOpen
protected void setTextFromSelectedListItemAndKeepMatchingWindowOpen()
- Overrides:
setTextFromSelectedListItemAndKeepMatchingWindowOpenin classDropDownTextField<T>
-
-