aim4.gui
Class Viewer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by aim4.gui.Viewer
All Implemented Interfaces:
ViewerDebugView, ActionListener, ItemListener, KeyListener, MouseListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class Viewer
extends JFrame
implements ActionListener, KeyListener, MouseListener, ItemListener, ViewerDebugView

The viewer is a Graphical User Interface (GUI) that allows a user to run the AIM Simulator while watching the vehicles in real time.

See Also:
Serialized Form

Nested Class Summary
 class Viewer.SimThread
          The simulation thread that holds the simulation process.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
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
static double DEFAULT_SIM_SPEED
          The number of simulation seconds per GUI second.
static double DEFAULT_TARGET_FRAME_RATE
          The number of screen updates per GUI second.
static boolean IS_SHOW_IM_DEBUG_SHAPES_BY_DEFAULT
          Whether or not the IM Shapes are shown by default.
static boolean IS_SHOW_SIMULATION_TIME
          Whether or not the current simulation time is shown on screen.
static boolean IS_SHOW_VIN_BY_DEFAULT
          Whether or not the simulator shows the vin of the vehicles on screen.
static double TURBO_SIM_SPEED
          The simulation speed (simulation seconds per GUI second) at or beyond which the turbo mode is on (i.e., the simulation will run as fast as possible)
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Viewer(BasicSimSetup initSimSetup)
          Create a new viewer object.
Viewer(BasicSimSetup initSimSetup, boolean isRunNow)
          Create a new viewer object.
 
Method Summary
 void actionPerformed(ActionEvent e)
          
 Simulator getSimulator()
          Get the simulator object.
 void highlightVehicle(int vin)
          Highlight a vehicle immediately.
 void itemStateChanged(ItemEvent e)
          
 void keyPressed(KeyEvent e)
          
 void keyReleased(KeyEvent e)
          
 void keyTyped(KeyEvent e)
          
 void mouseClicked(MouseEvent e)
          
 void mouseEntered(MouseEvent e)
          
 void mouseExited(MouseEvent e)
          
 void mousePressed(MouseEvent e)
          
 void mouseReleased(MouseEvent e)
          
 void setTargetFrameRate(double targetFrameRate)
          Set the target frame rate.
 void setTargetSimSpeed(double simSpeed)
          Set the target simulation speed.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, 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 java.awt.MenuContainer
getFont, postEvent
 

Field Detail

IS_SHOW_SIMULATION_TIME

public static final boolean IS_SHOW_SIMULATION_TIME
Whether or not the current simulation time is shown on screen.

See Also:
Constant Field Values

IS_SHOW_VIN_BY_DEFAULT

public static final boolean IS_SHOW_VIN_BY_DEFAULT
Whether or not the simulator shows the vin of the vehicles on screen.

See Also:
Constant Field Values

IS_SHOW_IM_DEBUG_SHAPES_BY_DEFAULT

public static final boolean IS_SHOW_IM_DEBUG_SHAPES_BY_DEFAULT
Whether or not the IM Shapes are shown by default.

See Also:
Constant Field Values

DEFAULT_SIM_SPEED

public static final double DEFAULT_SIM_SPEED
The number of simulation seconds per GUI second. If it is larger than or equal to TURBO_SIM_SPEED, the simulation will run as fast as possible.

See Also:
Constant Field Values

DEFAULT_TARGET_FRAME_RATE

public static final double DEFAULT_TARGET_FRAME_RATE
The number of screen updates per GUI second. If it is larger than or equal to SimConfig.CYCLES_PER_SECOND, the screen will be updated at every time step of the simulation.

See Also:
Constant Field Values

TURBO_SIM_SPEED

public static final double TURBO_SIM_SPEED
The simulation speed (simulation seconds per GUI second) at or beyond which the turbo mode is on (i.e., the simulation will run as fast as possible)

See Also:
Constant Field Values
Constructor Detail

Viewer

public Viewer(BasicSimSetup initSimSetup)
Create a new viewer object.

Parameters:
initSimSetup - the initial simulation setup

Viewer

public Viewer(BasicSimSetup initSimSetup,
              boolean isRunNow)
Create a new viewer object.

Parameters:
initSimSetup - the initial simulation setup
isRunNow - whether or not the simulation is run immediately
Method Detail

getSimulator

public Simulator getSimulator()
Get the simulator object.

Returns:
the simulator object; null if the simulator object has not been created.

setTargetSimSpeed

public void setTargetSimSpeed(double simSpeed)
Set the target simulation speed.

Parameters:
simSpeed - set the target simulation speed

setTargetFrameRate

public void setTargetFrameRate(double targetFrameRate)
Set the target frame rate.

Parameters:
targetFrameRate - the target frame rate

actionPerformed

public void actionPerformed(ActionEvent e)

Specified by:
actionPerformed in interface ActionListener

keyPressed

public void keyPressed(KeyEvent e)

Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent e)

Specified by:
keyReleased in interface KeyListener

keyTyped

public void keyTyped(KeyEvent e)

Specified by:
keyTyped in interface KeyListener

mouseClicked

public void mouseClicked(MouseEvent e)

Specified by:
mouseClicked in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)

Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)

Specified by:
mouseExited in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)

Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)

Specified by:
mouseReleased in interface MouseListener

itemStateChanged

public void itemStateChanged(ItemEvent e)

Specified by:
itemStateChanged in interface ItemListener

highlightVehicle

public void highlightVehicle(int vin)
Highlight a vehicle immediately.

Specified by:
highlightVehicle in interface ViewerDebugView
Parameters:
vin - the VIN number of the vehicle


Copyright © 2011. All Rights Reserved.