Package jmri.jmrit.roster.swing
Class RosterEntryComboBox
- All Implemented Interfaces:
ActionListener,ImageObserver,ItemSelectable,MenuContainer,Serializable,EventListener,Accessible,ListDataListener,RosterEntrySelector
- Direct Known Subclasses:
GlobalRosterEntryComboBox
A JComboBox containing roster entries or a string indicating that no roster
entry is selected.
This is a JComboBox<Object> so that it can represent both.
This class has a self contained data model, and will automatically update the display if a RosterEntry is added, removed, or changes.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComboBox
JComboBox.AccessibleJComboBox, JComboBox.KeySelectionManagerNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected RosterEntry[]protected Stringprotected Stringprotected Stringprotected List<RosterEntry>protected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected RosterFields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminderFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface jmri.jmrit.roster.RosterEntrySelector
SELECTED_ROSTER_ENTRIES -
Constructor Summary
ConstructorsConstructorDescriptionCreate a combo box with the default Roster and all entries in the active roster group.RosterEntryComboBox(String rosterGroup) Create a combo box with the default Roster and all entries in an arbitrary roster group.RosterEntryComboBox(String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with the default Roster and entries in the active roster group matching the specified attributes.RosterEntryComboBox(String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with the default Roster and entries in an arbitrary roster group matching the specified attributes.RosterEntryComboBox(Roster roster) Create a combo box with an arbitrary Roster and all entries in the active roster group.RosterEntryComboBox(Roster roster, String rosterGroup) Create a combo box with an arbitrary Roster and all entries in an arbitrary roster group.RosterEntryComboBox(Roster roster, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with an arbitrary Roster and entries in the active roster group matching the specified attributes.RosterEntryComboBox(Roster roster, String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with an arbitrary Roster and entries in an arbitrary roster group matching the specified attributes. -
Method Summary
Modifier and TypeMethodDescriptionGets the current list of excluded items.protected voidGet the text of the item that visually indicates that no roster entry is selected in the comboBox.Get the currently selected roster entries.protected RosterEntry[]getSelectedRosterEntries(boolean force) voidsetExcludeItems(List<RosterEntry> excludedItems) Set a list of RosterEntrys to be excluded from the combobox.voidsetNonSelectedItem(String itemText) Set the text of the item that visually indicates that no roster entry is selected in the comboBox.voidupdate()Update the combo box with the currently selected roster group, using the same roster entry attributes specified in a prior call to update or when creating the combo box.final voidUpdate the combo box with an arbitrary roster group, using the same roster entry attributes specified in a prior call to update or when creating the combo box.voidupdate(String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Update the combo box with the currently selected roster group, using new roster entry attributes.final voidupdate(String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Update the combo box with an arbitrary roster group, using new roster entry attributes.Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, updateUIMethods 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jmri.jmrit.roster.RosterEntrySelector
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
_roster
-
_group
-
_roadName
-
_roadNumber
-
_dccAddress
-
_mfg
-
_decoderMfgID
-
_decoderVersionID
-
_id
-
_nonSelectedItem
-
_excludedItems
-
_currentSelection
-
-
Constructor Details
-
RosterEntryComboBox
public RosterEntryComboBox()Create a combo box with the default Roster and all entries in the active roster group. -
RosterEntryComboBox
Create a combo box with an arbitrary Roster and all entries in the active roster group.- Parameters:
roster- roster to use.
-
RosterEntryComboBox
Create a combo box with the default Roster and all entries in an arbitrary roster group.- Parameters:
rosterGroup- group to display.
-
RosterEntryComboBox
Create a combo box with an arbitrary Roster and all entries in an arbitrary roster group.- Parameters:
roster- roster to use.rosterGroup- group to display.
-
RosterEntryComboBox
public RosterEntryComboBox(String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with the default Roster and entries in the active roster group matching the specified attributes. Attributes with a null value will not be considered when filtering the roster entries.- Parameters:
roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id. *
-
RosterEntryComboBox
public RosterEntryComboBox(Roster roster, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with an arbitrary Roster and entries in the active roster group matching the specified attributes. Attributes with a null value will not be considered when filtering the roster entries.- Parameters:
roster- roster to use.roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id.
-
RosterEntryComboBox
public RosterEntryComboBox(String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with the default Roster and entries in an arbitrary roster group matching the specified attributes. Attributes with a null value will not be considered when filtering the roster entries.- Parameters:
rosterGroup- group to display.roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id.
-
RosterEntryComboBox
public RosterEntryComboBox(Roster roster, String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Create a combo box with an arbitrary Roster and entries in an arbitrary roster group matching the specified attributes. Attributes with a null value will not be considered when filtering the roster entries.All attributes used to filter roster entries are retained and reused when updating the combo box unless new attributes are specified when calling update.
All other constructors call this constructor with various default parameters.
- Parameters:
roster- roster to use.rosterGroup- group to display.roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id.
-
-
Method Details
-
update
Update the combo box with the currently selected roster group, using the same roster entry attributes specified in a prior call to update or when creating the combo box. -
update
Update the combo box with an arbitrary roster group, using the same roster entry attributes specified in a prior call to update or when creating the combo box.- Parameters:
rosterGroup- group to display.
-
update
public void update(String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Update the combo box with the currently selected roster group, using new roster entry attributes.- Parameters:
roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id.
-
update
public final void update(String rosterGroup, String roadName, String roadNumber, String dccAddress, String mfg, String decoderMfgID, String decoderVersionID, String id) Update the combo box with an arbitrary roster group, using new roster entry attributes.- Parameters:
rosterGroup- group to display.roadName- road name.roadNumber- road number.dccAddress- dcc address.mfg- manufacturer.decoderMfgID- decoder manufacturer.decoderVersionID- decoder version id.id- roster id.
-
setNonSelectedItem
Set the text of the item that visually indicates that no roster entry is selected in the comboBox.- Parameters:
itemText- text to indicate no entry.
-
getNonSelectedItem
Get the text of the item that visually indicates that no roster entry is selected in the comboBox. If this returns null, it indicates that the comboBox has no special item to indicate an empty selection.- Returns:
- The text or null
-
setExcludeItems
Set a list of RosterEntrys to be excluded from the combobox.- Parameters:
excludedItems- a ListArray of items to be excluded, cannot be null.
-
excludedItems
Gets the current list of excluded items. If there are no items an empty list is returned The List cannot be modified.- Returns:
- a ListArray of currently excluded items.
-
getSelectedRosterEntries
Description copied from interface:RosterEntrySelectorGet the currently selected roster entries. Since the selection could contain multiple roster entries, this returns an array of RosterEntry instead of a single RosterEntry.- Specified by:
getSelectedRosterEntriesin interfaceRosterEntrySelector- Returns:
- an array of RosterEntries
-
getSelectedRosterEntries
-
fireSelectedRosterEntriesPropertyChange
-