stella.jview
Class JRoofView.JRoofCanvas

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by stella.jview.JRoofView.JRoofCanvas
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Enclosing class:
JRoofView

protected class JRoofView.JRoofCanvas
extends JComponent

A class that displays the STELLA building and the roofs according to the images, blinking instances and offsets assigned to it. It is the swing representation for the JRoofView class, which hands over the actual roof representation to this class, which is responsible for drawing it.

See Also:
Serialized Form

Nested Class Summary
 
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
private  Image background
          The background to draw.
private  Point[] btr
          The position of the bottom roofs, left and right, variable.
private  Point[] lkn
          The position of the locks, north half.
private  Point[] lks
          The position of the locks, south half.
private  BlinkingImage[] locknorth
          The blinking instance for N-lock.
private  BlinkingImage[] locksouth
          The blinking instance for S-lock.
private  Point[] lon
          The position of the open-limit, north.
private  Point[] los
          The position of the open-limit, south.
private  Point[] lsn
          The position of the shut-limit, north.
private  Point[] lss
          The position of the shut-limit, south.
private  Image[] opennorth
          The images for N-limit switch open.
private  Image[] opensouth
          The images for S-limit switch open.
private  Image[] roofside
          The blinking instance for side roof.
private  Image[] rooftop
          The instance for top roof.
private  Image[] shutnorth
          The images for N-limit switch shut.
private  Image[] shutsouth
          The images for S-limit switch shut.
private  Point[] spd
          The position of the speed indicator, left and right.
private  BlinkingImage[] speed
          A speedometer blinking image.
private  Point[] tpr
          The position of the top roofs, left and right, variable.
private  Image[] xnorth
          The images for X-switch, north.
private  Point[] xsn
          The position of the x-switch, north.
private  Image[] xsouth
          The images for X-switch, south.
private  Point[] xss
          The position of the x-switch, south.
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected JRoofView.JRoofCanvas()
          Constructs a new canvas for drawing the STELLA layout.
 
Method Summary
 void paint(Graphics g)
          Paints the component.
protected  BlinkingImage prepareBlinker(Point offset, Image on, Image off, int freq, boolean stopon)
          Prepares a blinking image instance.
protected  void setStella(Image bg)
          Sets the background image.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, 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, 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
 

Field Detail

background

private Image background
The background to draw. The layout of the STELLA building.


opennorth

private Image[] opennorth
The images for N-limit switch open.


opensouth

private Image[] opensouth
The images for S-limit switch open.


shutnorth

private Image[] shutnorth
The images for N-limit switch shut.


shutsouth

private Image[] shutsouth
The images for S-limit switch shut.


xnorth

private Image[] xnorth
The images for X-switch, north.


xsouth

private Image[] xsouth
The images for X-switch, south.


rooftop

private Image[] rooftop
The instance for top roof. Indexed for roof number.


roofside

private Image[] roofside
The blinking instance for side roof. Indexed for roof number.


locknorth

private BlinkingImage[] locknorth
The blinking instance for N-lock.


locksouth

private BlinkingImage[] locksouth
The blinking instance for S-lock.


speed

private BlinkingImage[] speed
A speedometer blinking image.


tpr

private Point[] tpr
The position of the top roofs, left and right, variable.


btr

private Point[] btr
The position of the bottom roofs, left and right, variable.


lon

private Point[] lon
The position of the open-limit, north.


los

private Point[] los
The position of the open-limit, south.


lsn

private Point[] lsn
The position of the shut-limit, north.


lss

private Point[] lss
The position of the shut-limit, south.


xsn

private Point[] xsn
The position of the x-switch, north.


xss

private Point[] xss
The position of the x-switch, south.


spd

private Point[] spd
The position of the speed indicator, left and right.


lkn

private Point[] lkn
The position of the locks, north half.


lks

private Point[] lks
The position of the locks, south half.

Constructor Detail

JRoofView.JRoofCanvas

protected JRoofView.JRoofCanvas()
Constructs a new canvas for drawing the STELLA layout. The image and blinking image arrays are created. The position for the non-blinking images are created.

Method Detail

setStella

protected void setStella(Image bg)
Sets the background image. This is a layout of the STELLA building.


prepareBlinker

protected BlinkingImage prepareBlinker(Point offset,
                                       Image on,
                                       Image off,
                                       int freq,
                                       boolean stopon)
Prepares a blinking image instance.


paint

public void paint(Graphics g)
Paints the component. All the required images and offsets must have been set prior to this call.

Overrides:
paint in class JComponent