Package jmri.jmrit.roster.swing
Class RosterEntryComboBox
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JComboBox<java.lang.Object>
-
- jmri.jmrit.roster.swing.RosterEntryComboBox
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.image.ImageObserver
,java.awt.ItemSelectable
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ListDataListener
,RosterEntrySelector
- Direct Known Subclasses:
GlobalRosterEntryComboBox
public class RosterEntryComboBox extends javax.swing.JComboBox<java.lang.Object> implements RosterEntrySelector
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:
Roster
,RosterEntry
,JComboBox
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected RosterEntry[]
_currentSelection
protected java.lang.String
_dccAddress
protected java.lang.String
_decoderMfgID
protected java.lang.String
_decoderVersionID
protected java.lang.String
_group
protected java.lang.String
_id
protected java.lang.String
_mfg
protected java.lang.String
_nonSelectedItem
protected java.lang.String
_roadName
protected java.lang.String
_roadNumber
protected Roster
_roster
-
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
-
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
-
Fields inherited from interface jmri.jmrit.roster.RosterEntrySelector
SELECTED_ROSTER_ENTRIES
-
-
Constructor Summary
Constructors Constructor Description RosterEntryComboBox()
Create a combo box with the default Roster and all entries in the active roster group.RosterEntryComboBox(java.lang.String rosterGroup)
Create a combo box with the default Roster and all entries in an arbitrary roster group.RosterEntryComboBox(java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.String id)
Create a combo box with the default Roster and entries in the active roster group matching the specified attributes.RosterEntryComboBox(java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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, java.lang.String rosterGroup)
Create a combo box with an arbitrary Roster and all entries in an arbitrary roster group.RosterEntryComboBox(Roster roster, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.String id)
Create a combo box with an arbitrary Roster and entries in the active roster group matching the specified attributes.RosterEntryComboBox(Roster roster, java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.String id)
Create a combo box with an arbitrary Roster and entries in an arbitrary roster group matching the specified attributes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
fireSelectedRosterEntriesPropertyChange()
java.lang.String
getNonSelectedItem()
Get the text of the item that visually indicates that no roster entry is selected in the comboBox.RosterEntry[]
getSelectedRosterEntries()
Get the currently selected roster entries.protected RosterEntry[]
getSelectedRosterEntries(boolean force)
void
setNonSelectedItem(java.lang.String itemText)
Set the text of the item that visually indicates that no roster entry is selected in the comboBox.void
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.void
update(java.lang.String rosterGroup)
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.void
update(java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.String id)
Update the combo box with the currently selected roster group, using new roster entry attributes.void
update(java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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, 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, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.jmrit.roster.RosterEntrySelector
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Field Detail
-
_group
protected java.lang.String _group
-
_roadName
protected java.lang.String _roadName
-
_roadNumber
protected java.lang.String _roadNumber
-
_dccAddress
protected java.lang.String _dccAddress
-
_mfg
protected java.lang.String _mfg
-
_decoderMfgID
protected java.lang.String _decoderMfgID
-
_decoderVersionID
protected java.lang.String _decoderVersionID
-
_id
protected java.lang.String _id
-
_nonSelectedItem
protected java.lang.String _nonSelectedItem
-
_currentSelection
protected RosterEntry[] _currentSelection
-
-
Constructor Detail
-
RosterEntryComboBox
public RosterEntryComboBox()
Create a combo box with the default Roster and all entries in the active roster group.
-
RosterEntryComboBox
public RosterEntryComboBox(Roster roster)
Create a combo box with an arbitrary Roster and all entries in the active roster group.- Parameters:
roster
- roster to use.
-
RosterEntryComboBox
public RosterEntryComboBox(java.lang.String rosterGroup)
Create a combo box with the default Roster and all entries in an arbitrary roster group.- Parameters:
rosterGroup
- group to display.
-
RosterEntryComboBox
public RosterEntryComboBox(Roster roster, java.lang.String rosterGroup)
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(java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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(java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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, java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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 Detail
-
update
public void 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
public final void update(java.lang.String rosterGroup)
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(java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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(java.lang.String rosterGroup, java.lang.String roadName, java.lang.String roadNumber, java.lang.String dccAddress, java.lang.String mfg, java.lang.String decoderMfgID, java.lang.String decoderVersionID, java.lang.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
public void setNonSelectedItem(java.lang.String itemText)
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
public java.lang.String 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
-
getSelectedRosterEntries
public RosterEntry[] getSelectedRosterEntries()
Description copied from interface:RosterEntrySelector
Get 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:
getSelectedRosterEntries
in interfaceRosterEntrySelector
- Returns:
- an array of RosterEntries
-
getSelectedRosterEntries
protected RosterEntry[] getSelectedRosterEntries(boolean force)
-
fireSelectedRosterEntriesPropertyChange
protected void fireSelectedRosterEntriesPropertyChange()
-
-