Package jmri.util.swing
Class BeanSelectCreatePanel<E extends NamedBean>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.BeanSelectCreatePanel<E>
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class BeanSelectCreatePanel<E extends NamedBean> extends javax.swing.JPanel
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description (package private) E
_defaultSelect
(package private) java.lang.String
_reference
(package private) NamedBeanComboBox<E>
existingCombo
(package private) javax.swing.JRadioButton
existingItem
(package private) javax.swing.JTextField
hardwareAddress
(package private) javax.swing.JRadioButton
newItem
(package private) ManagerComboBox<E>
prefixBox
(package private) javax.swing.ButtonGroup
selectcreate
(package private) java.lang.String
systemSelectionCombo
-
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
-
-
Constructor Summary
Constructors Constructor Description BeanSelectCreatePanel(Manager<E> manager, E defaultSelect)
Create a JPanel that provides the option to the user to either select an already created bean, or to create one on the fly.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
java.lang.String
getDisplayName()
Get the display name of the bean that has either been selected in the drop down list or was asked to be created.E
getNamedBean()
Get the named bean that has either been selected in the drop down list or was asked to be created.boolean
hasBeanOrBeanName()
Is a bean either selected or has the user entered a new name in the combo box?boolean
isEmpty()
Check that the user selected something in this BeanSelectCreatePanel.void
setDefaultNamedBean(E nBean)
Set the default selected item in the combo box.void
setEnabled(boolean enabled)
void
setReference(java.lang.String ref)
Set a reference that can be set against the comment for a bean.(package private) void
update()
void
updateComment(E nBean, java.lang.String content)
Update comment on bean if there's content AND there's not already a comment.-
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, grabFocus, 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, 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
-
-
-
-
Field Detail
-
_defaultSelect
E extends NamedBean _defaultSelect
-
_reference
java.lang.String _reference
-
existingItem
javax.swing.JRadioButton existingItem
-
newItem
javax.swing.JRadioButton newItem
-
selectcreate
javax.swing.ButtonGroup selectcreate
-
existingCombo
NamedBeanComboBox<E extends NamedBean> existingCombo
-
hardwareAddress
javax.swing.JTextField hardwareAddress
-
prefixBox
ManagerComboBox<E extends NamedBean> prefixBox
-
systemSelectionCombo
java.lang.String systemSelectionCombo
-
-
Constructor Detail
-
BeanSelectCreatePanel
public BeanSelectCreatePanel(@Nonnull Manager<E> manager, E defaultSelect)
Create a JPanel that provides the option to the user to either select an already created bean, or to create one on the fly. This only currently works with Turnouts, Sensors, Memories and Blocks.- Parameters:
manager
- the bean managerdefaultSelect
- the bean that is selected by default
-
-
Method Detail
-
update
void update()
-
setEnabled
public void setEnabled(boolean enabled)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
getDisplayName
public java.lang.String getDisplayName()
Get the display name of the bean that has either been selected in the drop down list or was asked to be created.- Returns:
- the name of the bean
-
hasBeanOrBeanName
public boolean hasBeanOrBeanName()
Is a bean either selected or has the user entered a new name in the combo box? If either is false, the caller should not try to create a new bean.- Returns:
- true if a bean is selected or a name is entered
-
getNamedBean
public E getNamedBean() throws JmriException
Get the named bean that has either been selected in the drop down list or was asked to be created.- Returns:
- the selected bean or a new bean
- Throws:
JmriException
- if a bean needs to be created but can't be
-
setReference
public void setReference(java.lang.String ref)
Set a reference that can be set against the comment for a bean.- Parameters:
ref
- the default comment for a bean without a comment
-
setDefaultNamedBean
public void setDefaultNamedBean(E nBean)
Set the default selected item in the combo box. After it has been set, the combo box becomes active and the Add Hardware box details are then hidden.- Parameters:
nBean
- the bean that is selected by default
-
isEmpty
public boolean isEmpty()
Check that the user selected something in this BeanSelectCreatePanel.- Returns:
- true if not empty
-
updateComment
public void updateComment(@Nonnull E nBean, java.lang.String content)
Update comment on bean if there's content AND there's not already a comment.- Parameters:
nBean
- the bean to editcontent
- comment to add
-
dispose
public void dispose()
-
-