Package jmri.jmrit.display
Class IconAdder
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.jmrit.display.IconAdder
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ListSelectionListener
- Direct Known Subclasses:
MultiSensorIconAdder,SlipIconAdder
Provides a simple editor for selecting N NamedIcons. Class for Icon Editors
implements "Drag n Drop". Allows drops from icons dragged from a Catalog
preview pane.
See SensorIcon for an item that might want to have that type of
information, and PanelEditor for an
example of how to use this.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested 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 TypeFieldDescription(package private) JButton(package private) CatalogTreeNode(package private) HashMap<String,JToggleButton> (package private) JPanelprotected JTextField(package private) JTable(package private) boolean(package private) static intFields 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, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidvoidboolean(package private) void(package private) voidvoidcomplete(ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update) voiddispose()Clean up when its time to make it all go awayprotected voidGet a new NamedIcon object for your own use.Get a new Hashtable of only the icons selected for display.intUsed by Panel Editor to make the final installation of the icon(s) into the user's Panel.voidvoidmakeIconPanel(boolean useDefaults) After all the calls to setIcon(...) are made, make the icon display.protected voidBuild iconMap and orderArray from user's choice of defaults.(package private) voidpack()voidreset()voidInstall the icons used to represent all the states of the entity being edited.protected voidvoidvoidsetPickList(PickListModel<? extends NamedBean> tableModel) After the calls to makeIconPanel(), optionally make a pick list table for managed elements.voidsetSelection(NamedBean bean) voidWhen a Pick list is installed, table selection controls the Add button.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, setEnabled, 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, transferFocusUpCycle
-
Field Details
-
_iconMap
-
_iconOrderList
-
_defaultIcons
-
_iconPanel
-
_sysNameText
-
_table
-
_addButton
-
_update
boolean _update -
STRUT_SIZE
-
-
Constructor Details
-
IconAdder
public IconAdder() -
IconAdder
-
IconAdder
-
-
Method Details
-
reset
-
initDefaultIcons
-
getDefaultIconNode
-
makeIcons
Build iconMap and orderArray from user's choice of defaults.- Parameters:
n- the root in a catalog from which icons are made
-
setIcon
- Parameters:
order- the index to icon's name and the inverse order that icons are drawn in doIconPanel()label- the icon name displayed in the icon panel and the key to the icon button in _iconMap, supplied as I18N stringicon- the icon displayed in the icon button
-
setIcon
Install the icons used to represent all the states of the entity being edited.- Parameters:
order- (reverse) order of display, (0 last, to N first)label- the state name to display. Must be unique from all other calls to this methodname- the resource name of the icon image to display
-
setParent
-
pack
void pack() -
getNumIcons
-
makeIconPanel
After all the calls to setIcon(...) are made, make the icon display. Two columns to save space for subsequent panels.- Parameters:
useDefaults- true to use user-specified defaults; false otherwise
-
doIconPanel
-
setPickList
After the calls to makeIconPanel(), optionally make a pick list table for managed elements. (Not all Icon Editors use pick lists).- Parameters:
tableModel- the model from which the table is created
-
setSelection
-
valueChanged
When a Pick list is installed, table selection controls the Add button.- Specified by:
valueChangedin interfaceListSelectionListener
-
getTableSelection
Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.Note! the selection is cleared. When two successive calls are made, the 2nd will always return null, regardless of the 1st return.
- Returns:
- the selected item
-
getIcon
Get a new NamedIcon object for your own use.- Parameters:
key- Name of key (label)- Returns:
- Unique object
-
getIconMap
Get a new Hashtable of only the icons selected for display.- Returns:
- a map of icons using the icon labels as keys
-
complete
public void complete(ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update) -
addAdditionalButtons
-
addIconIsEnabled
-
addToTable
void addToTable() -
addCatalog
-
closeCatalog
void closeCatalog() -
addDirectoryToCatalog
-
dispose
Clean up when its time to make it all go away
-