Package jmri.jmrit.display
Class LocoIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.LocoIcon
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.lang.Cloneable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
,Positionable
,InlineLogixNG
- Direct Known Subclasses:
TrainIcon
public class LocoIcon extends PositionableLabel
An icon that displays the position of a loco on a panel.The icon can always be repositioned and its popup menu is always active.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrit.display.PositionableLabel
PositionableLabel.PaletteFrameCloser
-
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface jmri.jmrit.display.Positionable
Positionable.DuplicateIdException
-
-
Field Summary
Fields Modifier and Type Field Description protected RosterEntry
_entry
(package private) NamedIcon
blue
static java.lang.String
BLUE
static java.awt.Color
COLOR_BLUE
(package private) NamedIcon
gray
static java.lang.String
GRAY
(package private) NamedIcon
green
static java.lang.String
GREEN
(package private) javax.swing.ButtonGroup
locoButtonGroup
(package private) NamedIcon
red
static java.lang.String
RED
(package private) ThrottleFrame
tf
(package private) NamedIcon
white
static java.lang.String
WHITE
(package private) NamedIcon
yellow
static java.lang.String
YELLOW
-
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _itemPanel, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _valueEditDisabled, _viewCoordinates, active, disableItem
-
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLocoMenuEntry(javax.swing.JMenu iconMenu, java.lang.String color)
Positionable
deepClone()
Make a deep copy of Positional object.void
dock()
void
doMouseReleased(JmriMouseEvent event)
Set display attributes for Trackerboolean
doViemMenu()
Use the 'Standard' presentation of the popup menu items.protected Positionable
finishClone(LocoIcon pos)
int
getDockX()
int
getDockY()
java.awt.Color
getLocoColor()
static java.lang.String[]
getLocoColors()
RosterEntry
getRosterEntry()
void
init()
Called at load time to get "background" colorprotected javax.swing.JMenuItem
makeDockingMenu()
protected javax.swing.JMenuItem
makeDockMenu()
protected javax.swing.JMenu
makeLocoIconMenu()
void
setDockingLocation(int x, int y)
void
setLocoColor(java.lang.String color)
void
setPositionable(boolean enabled)
void
setRosterEntry(RosterEntry entry)
void
setShowToolTip(boolean set)
boolean
showPopUp(javax.swing.JPopupMenu popup)
Pop-up only if right click and not dragged-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, dispose, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, edit, editIcon, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getNamedBean, getNameString, getPopupUtility, getScale, getSize, getTextComponent, getToolTip, getTypeString, getUnRotatedText, getViewCoordinates, getWidth, initPaletteFrame, isActive, isBackground, isControl, isControlling, isEditable, isEmptyHidden, isHidden, isIcon, isPositionable, isRotated, isText, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, makeTextOverlaidIcon, maxHeight, maxHeightTrue, maxWidth, maxWidthTrue, paintComponent, remove, removeAllClasses, removeClass, rotate, rotateOrthogonal, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showHidden, showToolTip, storeItem, updateIcon, updateSize, updateTextItem
-
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setUI, setVerticalAlignment, setVerticalTextPosition, 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, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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.display.Positionable
contains, getBackground, getBounds, getEditorName, getFont, getForeground, getLocation, getParent, getPreferredSize, getTypeName, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Field Detail
-
WHITE
public static final java.lang.String WHITE
-
GREEN
public static final java.lang.String GREEN
-
GRAY
public static final java.lang.String GRAY
-
RED
public static final java.lang.String RED
-
BLUE
public static final java.lang.String BLUE
-
YELLOW
public static final java.lang.String YELLOW
-
COLOR_BLUE
public static final java.awt.Color COLOR_BLUE
-
tf
ThrottleFrame tf
-
locoButtonGroup
javax.swing.ButtonGroup locoButtonGroup
-
_entry
protected RosterEntry _entry
-
-
Method Detail
-
deepClone
public Positionable deepClone()
Description copied from interface:Positionable
Make a deep copy of Positional object. Implementation should create a new object and immediately pass the object to finishClone() returning the result of finishClone(). i.e. implementation must be:public Positionable deepClone() { Subtype t = new Subtype(); return finishClone(t); }
Then finishClone() finishes the deep Copy of a Positional object. Implementation should make deep copies of the additional members of this sub class and then pass Positionable p to super.finishClone(). i.e. implementation must terminate with statement return super.finishClone(p); See IndicatorTurnoutIcon extends TurnoutIcon extends PositionableLabel for an example of how to continue deep cloning a chain of subclasses.
- Specified by:
deepClone
in interfacePositionable
- Overrides:
deepClone
in classPositionableLabel
- Returns:
- the copy
-
finishClone
protected Positionable finishClone(LocoIcon pos)
-
setShowToolTip
public void setShowToolTip(boolean set)
- Specified by:
setShowToolTip
in interfacePositionable
- Overrides:
setShowToolTip
in classPositionableLabel
-
setPositionable
public void setPositionable(boolean enabled)
- Specified by:
setPositionable
in interfacePositionable
- Overrides:
setPositionable
in classPositionableLabel
-
doViemMenu
public boolean doViemMenu()
Description copied from interface:Positionable
Use the 'Standard' presentation of the popup menu items. The editor will call this method to find out whether it should create any popup viewing menu items.- Specified by:
doViemMenu
in interfacePositionable
- Overrides:
doViemMenu
in classPositionableLabel
- Returns:
- true if Editor may add the standardpopup menu items
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up only if right click and not dragged- Specified by:
showPopUp
in interfacePositionable
- Overrides:
showPopUp
in classPositionableLabel
-
makeLocoIconMenu
protected javax.swing.JMenu makeLocoIconMenu()
-
addLocoMenuEntry
public void addLocoMenuEntry(javax.swing.JMenu iconMenu, java.lang.String color)
-
setLocoColor
public void setLocoColor(java.lang.String color)
-
getLocoColors
public static java.lang.String[] getLocoColors()
-
getLocoColor
public java.awt.Color getLocoColor()
-
setRosterEntry
public void setRosterEntry(RosterEntry entry)
-
getRosterEntry
public RosterEntry getRosterEntry()
-
makeDockingMenu
protected javax.swing.JMenuItem makeDockingMenu()
-
setDockingLocation
public void setDockingLocation(int x, int y)
-
getDockX
public int getDockX()
-
getDockY
public int getDockY()
-
dock
public void dock()
-
makeDockMenu
protected javax.swing.JMenuItem makeDockMenu()
-
init
public void init()
Called at load time to get "background" color
-
doMouseReleased
public void doMouseReleased(JmriMouseEvent event)
Set display attributes for Tracker- Specified by:
doMouseReleased
in interfacePositionable
- Overrides:
doMouseReleased
in classPositionableLabel
-
-