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.String
amPm
(package private) int
centreX
(package private) int
centreY
(package private) Timebase
clock
(package private) java.awt.Image
clockFace
(package private) NamedIcon
clockIcon
(package private) java.awt.Color
color
(package private) javax.swing.ButtonGroup
colorButtonGroup
(package private) int
faceSize
(package private) double
hourAngle
(package private) java.awt.Polygon
hourHand
(package private) int
hourHeight
(package private) int[]
hourX
(package private) int[]
hourY
(package private) NamedIcon
jmriIcon
(package private) java.awt.Image
logo
(package private) int
logoHeight
(package private) int
logoWidth
(package private) double
minuteAngle
(package private) java.awt.Polygon
minuteHand
(package private) int
minuteHeight
(package private) int[]
minuteX
(package private) int[]
minuteY
(package private) int
panelHeight
(package private) int
panelWidth
(package private) double
rate
(package private) javax.swing.ButtonGroup
rateButtonGroup
(package private) int[]
rotatedHourX
(package private) int[]
rotatedHourY
(package private) int[]
rotatedMinuteX
(package private) int[]
rotatedMinuteY
(package private) javax.swing.JMenuItem
runMenu
(package private) java.awt.Polygon
scaledHourHand
(package private) int[]
scaledHourX
(package private) int[]
scaledHourY
(package private) NamedIcon
scaledIcon
(package private) java.awt.Image
scaledLogo
(package private) java.awt.Polygon
scaledMinuteHand
(package private) int[]
scaledMinuteX
(package private) int[]
scaledMinuteY
(package private) double
scaleRatio
(package private) int
size
-
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) void
addRateMenuEntry(javax.swing.JMenu menu, int newrate)
(package private) void
cleanup()
To be overridden if any special work needs to be done.Positionable
deepClone()
Make a deep copy of Positional object.void
dispose()
void
doMouseClicked(JmriMouseEvent event)
(package private) int
dotX(double radius, double angle)
(package private) int
dotY(double radius, double angle)
protected Positionable
finishClone(AnalogClock2Display pos)
java.awt.Color
getColor()
int
getFaceHeight()
int
getFaceWidth()
java.lang.String
getNameString()
Get the name of the positional as a String.boolean
getRun()
java.lang.String
getTypeString()
Get the type of the positional as a String.java.lang.String
getURL()
(package private) void
init()
void
paint(java.awt.Graphics g)
void
setColor(java.awt.Color color)
boolean
setLinkMenu(javax.swing.JPopupMenu popup)
void
setRun(boolean next)
void
setScale(double scale)
boolean
setScaleMenu(javax.swing.JPopupMenu popup)
Add additional menu items to the menu.void
setSize(int x)
void
setULRL(java.lang.String u)
void
update()
-
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: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 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:Positionable
Add additional menu items to the menu.- Specified by:
setScaleMenu
in interfacePositionable
- Overrides:
setScaleMenu
in 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:Positionable
Get the type of the positional as a String.- Specified by:
getTypeString
in interfacePositionable
- Overrides:
getTypeString
in classPositionableJComponent
- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:Positionable
Get the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameString
in interfaceInlineLogixNG
- Specified by:
getNameString
in interfacePositionable
- Overrides:
getNameString
in classPositionableJComponent
- Returns:
- the name to display
-
setScale
public void setScale(double scale)
- Specified by:
setScale
in interfacePositionable
- Overrides:
setScale
in 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:
paint
in 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:PositionableJComponent
To be overridden if any special work needs to be done.- Overrides:
cleanup
in classPositionableJComponent
-
dispose
public void dispose()
-
getURL
public java.lang.String getURL()
- Specified by:
getURL
in interfaceLinkingObject
-
setULRL
public void setULRL(java.lang.String u)
- Specified by:
setULRL
in interfaceLinkingObject
-
setLinkMenu
public boolean setLinkMenu(javax.swing.JPopupMenu popup)
- Specified by:
setLinkMenu
in interfaceLinkingObject
-
doMouseClicked
public void doMouseClicked(JmriMouseEvent event)
- Specified by:
doMouseClicked
in interfacePositionable
- Overrides:
doMouseClicked
in classPositionableJComponent
-
-