jmri.jmrit.display
Class LightIcon

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by jmri.jmrit.display.PositionableLabel
                      extended by jmri.jmrit.display.LightIcon
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, Cloneable, EventListener, Accessible, SwingConstants, Positionable

public class LightIcon
extends PositionableLabel
implements PropertyChangeListener

An icon to display a status of a light.

A click on the icon will command a state change. Specifically, it will set the state to the opposite (THROWN vs CLOSED) of the current state.

The default icons are for a left-handed turnout, facing point for east-bound traffic.

Author:
Bob Jacobsen Copyright (c) 2002
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _hidden, _icon, _namedIcon, _positionable, _showTooltip, _text, _tooltip, _viewCoordinates, rb, rbean
 
Fields inherited from class javax.swing.JLabel
labelFor
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
LightIcon(Editor editor)
           
 
Method Summary
 Positionable deepClone()
          Make a deep copy of Positional object.
 void dispose()
          Clean up when this object is no longer needed.
 void doMouseClicked(MouseEvent e)
          Change the light when the icon is clicked
protected  void edit()
           
 Positionable finishClone(Positionable p)
          Finsh the deep Copy of a Positional object.
 NamedIcon getInconsistentIcon()
           
 Light getLight()
           
 String getNameString()
          Methods to add popup menu items return true if a popup item is set
 NamedIcon getOffIcon()
           
 NamedIcon getOnIcon()
           
 NamedIcon getUnknownIcon()
           
 int maxHeight()
           
 int maxWidth()
           
 void propertyChange(PropertyChangeEvent e)
           
 void rotate(int deg)
           
protected  void rotateOrthogonal()
          popup AbstractAction.actionPerformed method overrides
 void setInconsistentIcon(NamedIcon i)
           
 void setLight(Light to)
           
 void setLight(String pName)
          Attached a named light to this display item
 void setOffIcon(NamedIcon i)
           
 void setOnIcon(NamedIcon i)
           
 void setScale(double s)
           
 void setUnknownIcon(NamedIcon i)
           
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, editIcon, getDegrees, getDisplayLevel, getEditor, getPopupUtility, getScale, getTooltip, getViewCoordinates, isActive, isBackground, isControl, isControlling, isEditable, isHidden, isIcon, isPositionable, isText, makeIconEditorFrame, makePalettteFrame, remove, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, setTextEditMenu, setTooltip, setViewCoordinates, showHidden, showPopUp, showTooltip, storeItem, updateIcon, updateSize
 
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, setText, 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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, 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, getFont, getForeground, getHeight, getLocation, getParent, getPreferredSize, getWidth, getX, getY, invalidate, isOpaque, repaint, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
 

Constructor Detail

LightIcon

public LightIcon(Editor editor)
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); }

Specified by:
deepClone in interface Positionable
Overrides:
deepClone in class PositionableLabel

finishClone

public Positionable finishClone(Positionable p)
Description copied from interface: Positionable
Finsh 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:
finishClone in interface Positionable
Overrides:
finishClone in class PositionableLabel

setLight

public void setLight(String pName)
Attached a named light to this display item

Parameters:
pName - Used as a system/user name to lookup the light object

setLight

public void setLight(Light to)

getLight

public Light getLight()

getOffIcon

public NamedIcon getOffIcon()

setOffIcon

public void setOffIcon(NamedIcon i)

getOnIcon

public NamedIcon getOnIcon()

setOnIcon

public void setOnIcon(NamedIcon i)

getInconsistentIcon

public NamedIcon getInconsistentIcon()

setInconsistentIcon

public void setInconsistentIcon(NamedIcon i)

getUnknownIcon

public NamedIcon getUnknownIcon()

setUnknownIcon

public void setUnknownIcon(NamedIcon i)

maxHeight

public int maxHeight()
Specified by:
maxHeight in interface Positionable
Overrides:
maxHeight in class PositionableLabel

maxWidth

public int maxWidth()
Specified by:
maxWidth in interface Positionable
Overrides:
maxWidth in class PositionableLabel

propertyChange

public void propertyChange(PropertyChangeEvent e)
Specified by:
propertyChange in interface PropertyChangeListener

getNameString

public String getNameString()
Description copied from interface: Positionable
Methods to add popup menu items return true if a popup item is set

Specified by:
getNameString in interface Positionable
Overrides:
getNameString in class PositionableLabel

rotateOrthogonal

protected void rotateOrthogonal()
popup AbstractAction.actionPerformed method overrides

Overrides:
rotateOrthogonal in class PositionableLabel

setScale

public void setScale(double s)
Specified by:
setScale in interface Positionable
Overrides:
setScale in class PositionableLabel

rotate

public void rotate(int deg)
Specified by:
rotate in interface Positionable
Overrides:
rotate in class PositionableLabel

edit

protected void edit()
Overrides:
edit in class PositionableLabel

doMouseClicked

public void doMouseClicked(MouseEvent e)
Change the light when the icon is clicked

Specified by:
doMouseClicked in interface Positionable
Overrides:
doMouseClicked in class PositionableLabel
Parameters:
e -

dispose

public void dispose()
Description copied from class: PositionableLabel
Clean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()

Overrides:
dispose in class PositionableLabel


Copyright © 1997 - 2011 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads