Package jmri.jmrit.display
Class AnalogClock2Display
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- jmri.jmrit.display.PositionableJComponent
-
- jmri.jmrit.display.AnalogClock2Display
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.lang.Cloneable,LinkingObject,Positionable,InlineLogixNG
public class AnalogClock2Display extends PositionableJComponent implements LinkingObject
An Analog Clock for displaying in a panel.Time code copied in part from code for the Nixie clock by Bob Jacobsen
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 (package private) java.lang.String_url(package private) java.lang.StringamPm(package private) intcentreX(package private) intcentreY(package private) Timebaseclock(package private) java.awt.ImageclockFace(package private) NamedIconclockIcon(package private) java.awt.Colorcolor(package private) javax.swing.ButtonGroupcolorButtonGroup(package private) intfaceSize(package private) doublehourAngle(package private) java.awt.PolygonhourHand(package private) inthourHeight(package private) int[]hourX(package private) int[]hourY(package private) NamedIconjmriIcon(package private) java.awt.Imagelogo(package private) intlogoHeight(package private) intlogoWidth(package private) doubleminuteAngle(package private) java.awt.PolygonminuteHand(package private) intminuteHeight(package private) int[]minuteX(package private) int[]minuteY(package private) intpanelHeight(package private) intpanelWidth(package private) doublerate(package private) javax.swing.ButtonGrouprateButtonGroup(package private) int[]rotatedHourX(package private) int[]rotatedHourY(package private) int[]rotatedMinuteX(package private) int[]rotatedMinuteY(package private) javax.swing.JMenuItemrunMenu(package private) java.awt.PolygonscaledHourHand(package private) int[]scaledHourX(package private) int[]scaledHourY(package private) NamedIconscaledIcon(package private) java.awt.ImagescaledLogo(package private) java.awt.PolygonscaledMinuteHand(package private) int[]scaledMinuteX(package private) int[]scaledMinuteY(package private) doublescaleRatio(package private) intsize-
Fields inherited from class jmri.jmrit.display.PositionableJComponent
_editor, active, lock, showTooltipItem
-
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 AnalogClock2Display(Editor editor)AnalogClock2Display(Editor editor, java.lang.String url)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddRateMenuEntry(javax.swing.JMenu menu, int newrate)(package private) voidcleanup()To be overridden if any special work needs to be done.PositionabledeepClone()Make a deep copy of Positional object.voiddispose()voiddoMouseClicked(JmriMouseEvent event)(package private) intdotX(double radius, double angle)(package private) intdotY(double radius, double angle)protected PositionablefinishClone(AnalogClock2Display pos)java.awt.ColorgetColor()intgetFaceHeight()intgetFaceWidth()java.lang.StringgetNameString()Get the name of the positional as a String.booleangetRun()java.lang.StringgetTypeString()Get the type of the positional as a String.java.lang.StringgetURL()(package private) voidinit()voidpaint(java.awt.Graphics g)voidsetColor(java.awt.Color color)booleansetLinkMenu(javax.swing.JPopupMenu popup)voidsetRun(boolean next)voidsetScale(double scale)booleansetScaleMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetSize(int x)voidsetULRL(java.lang.String u)voidupdate()-
Methods inherited from class jmri.jmrit.display.PositionableJComponent
addClass, displayState, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, finishClone, getClasses, getDegrees, getDisplayLevel, getEditor, getId, getLogixNG, getNamedBean, getPopupUtility, getScale, getTextComponent, getToolTip, getViewCoordinates, isActive, isControlling, isEditable, isEmptyHidden, isHidden, isPositionable, isValueEditDisabled, maxHeight, maxWidth, remove, removeAllClasses, removeClass, rotate, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setEmptyHidden, setHidden, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setShowToolTip, setTextEditMenu, setToolTip, setupLogixNG, setValueEditDisabled, setViewCoordinates, showHidden, showPopUp, showToolTip, storeItem, updateSize
-
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
-
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, getAccessibleContext, 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.display.LinkingObject
updateSize
-
Methods inherited from interface jmri.jmrit.display.Positionable
contains, getBackground, getBounds, getEditorName, getFont, getForeground, getHeight, getLocation, getParent, getPreferredSize, getTypeName, getWidth, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Field Detail
-
rate
double rate
-
minuteAngle
double minuteAngle
-
hourAngle
double hourAngle
-
amPm
java.lang.String amPm
-
color
java.awt.Color color
-
logo
java.awt.Image logo
-
scaledLogo
java.awt.Image scaledLogo
-
clockFace
java.awt.Image clockFace
-
scaledIcon
NamedIcon scaledIcon
-
hourX
int[] hourX
-
hourY
int[] hourY
-
minuteX
int[] minuteX
-
minuteY
int[] minuteY
-
scaledHourX
int[] scaledHourX
-
scaledHourY
int[] scaledHourY
-
scaledMinuteX
int[] scaledMinuteX
-
scaledMinuteY
int[] scaledMinuteY
-
rotatedHourX
int[] rotatedHourX
-
rotatedHourY
int[] rotatedHourY
-
rotatedMinuteX
int[] rotatedMinuteX
-
rotatedMinuteY
int[] rotatedMinuteY
-
hourHand
java.awt.Polygon hourHand
-
scaledHourHand
java.awt.Polygon scaledHourHand
-
minuteHand
java.awt.Polygon minuteHand
-
scaledMinuteHand
java.awt.Polygon scaledMinuteHand
-
minuteHeight
int minuteHeight
-
hourHeight
int hourHeight
-
scaleRatio
double scaleRatio
-
faceSize
int faceSize
-
panelWidth
int panelWidth
-
panelHeight
int panelHeight
-
size
int size
-
logoWidth
int logoWidth
-
logoHeight
int logoHeight
-
centreX
int centreX
-
centreY
int centreY
-
_url
java.lang.String _url
-
colorButtonGroup
javax.swing.ButtonGroup colorButtonGroup
-
rateButtonGroup
javax.swing.ButtonGroup rateButtonGroup
-
runMenu
javax.swing.JMenuItem runMenu
-
-
Constructor Detail
-
AnalogClock2Display
public AnalogClock2Display(Editor editor)
-
AnalogClock2Display
public AnalogClock2Display(Editor editor, java.lang.String url)
-
-
Method Detail
-
deepClone
public Positionable deepClone()
Description copied from interface:PositionableMake 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:
deepClonein interfacePositionable- Overrides:
deepClonein classPositionableJComponent- Returns:
- the copy
-
finishClone
protected Positionable finishClone(AnalogClock2Display pos)
-
init
final void init()
-
getFaceWidth
public int getFaceWidth()
-
getFaceHeight
public int getFaceHeight()
-
setScaleMenu
public boolean setScaleMenu(javax.swing.JPopupMenu popup)
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setScaleMenuin interfacePositionable- Overrides:
setScaleMenuin classPositionableJComponent- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:PositionableGet the type of the positional as a String.- Specified by:
getTypeStringin interfacePositionable- Overrides:
getTypeStringin classPositionableJComponent- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:PositionableGet the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameStringin interfaceInlineLogixNG- Specified by:
getNameStringin interfacePositionable- Overrides:
getNameStringin classPositionableJComponent- Returns:
- the name to display
-
setScale
public void setScale(double scale)
- Specified by:
setScalein interfacePositionable- Overrides:
setScalein classPositionableJComponent
-
addRateMenuEntry
void addRateMenuEntry(javax.swing.JMenu menu, int newrate)
-
getColor
public java.awt.Color getColor()
-
setColor
public void setColor(java.awt.Color color)
-
paint
public void paint(java.awt.Graphics g)
- Overrides:
paintin classjavax.swing.JComponent
-
dotX
int dotX(double radius, double angle)
-
dotY
int dotY(double radius, double angle)
-
setSize
public void setSize(int x)
-
update
public void update()
-
getRun
public boolean getRun()
-
setRun
public void setRun(boolean next)
-
cleanup
void cleanup()
Description copied from class:PositionableJComponentTo be overridden if any special work needs to be done.- Overrides:
cleanupin classPositionableJComponent
-
dispose
public void dispose()
-
getURL
public java.lang.String getURL()
- Specified by:
getURLin interfaceLinkingObject
-
setULRL
public void setULRL(java.lang.String u)
- Specified by:
setULRLin interfaceLinkingObject
-
setLinkMenu
public boolean setLinkMenu(javax.swing.JPopupMenu popup)
- Specified by:
setLinkMenuin interfaceLinkingObject
-
doMouseClicked
public void doMouseClicked(JmriMouseEvent event)
- Specified by:
doMouseClickedin interfacePositionable- Overrides:
doMouseClickedin classPositionableJComponent
-
-