robi.sim.gui
Class SimJPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--robi.sim.gui.SimJPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class SimJPanel
extends javax.swing.JPanel
implements java.awt.event.ActionListener

Author:
Reto Witschi Main panel of simulation. All simulation objects are located here.
See Also:
Serialized Form

Nested Class Summary
(package private)  class SimJPanel.SimJPanelMouseAdapter
           
 
Field Summary
private static int ADD_LIGHT
          Mousestate 'add light'
private static int ADD_ROBOT
          Mousestate 'add robot'
private static int DEFAULT
          Default cursor
 boolean drawCanvas
          draw canvas switch
 boolean drawPic
          draw pic switch
 boolean drawSensor
          draw sensor switch
private static int HAND
          Hand cursor
private  java.util.Vector lights
          Lights of simulaiton
private  SimJMenuBar mb
          Menubar
private  int mouseState
          Mouse state
private static int NONE
          No special mousestate
private static int PAUSE
          Set menu when LeJos code paused
 SimRoboOption ro
          Option Pane
private  SimRobot robot
          Robot of simulation
static int ROBOT_NOT_SET
          Set menu when robot not added
private static int ROBOT_SET
          Set menu when robot added
private static int RUN
          Set menu when LeJos code runs
 SimCodeLoader scl
          SimLoader Class
 SimJPopupMenu spum
          Popup Menu
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
SimJPanel(SimRoboOption optPanel, SimJMenuBar menuBar)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Implementation of ActionListener Handles menu events
private  void addLight(int x, int y)
          Adds light to simulation (panel)
private  void addRobot(int x, int y)
          Adds robot to simulation (panel)
private  void changeCursor(int typ)
          Changes mouse cursor
private  void clear()
          Clears all objects from simulation and resets RCX values
 java.util.Vector getLights()
          Returns lights vector
 void itemStateChanged(java.awt.event.ItemEvent itemEvent)
          Handles CheckBox events of menu
 void pauseSim()
          Pauses simulation
 void processMouseEvent(java.awt.event.MouseEvent e)
          Shows popup menu
 void removeLight(SimLight l)
          Clears light from simulation
 void removeRobot(SimRobot r)
          Clears robot from simulation
 void runSim()
          Runs simulation.
 void setMenu(int type)
          Sets mainmenu accessibility
private  void setObjectMenu(int type)
          Sets menu state on simulation objects
 void stopSim()
          Stops simulation
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, 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

mouseState

private int mouseState
Mouse state


NONE

private static final int NONE
No special mousestate

See Also:
Constant Field Values

ADD_ROBOT

private static final int ADD_ROBOT
Mousestate 'add robot'

See Also:
Constant Field Values

ADD_LIGHT

private static final int ADD_LIGHT
Mousestate 'add light'

See Also:
Constant Field Values

DEFAULT

private static final int DEFAULT
Default cursor

See Also:
Constant Field Values

HAND

private static final int HAND
Hand cursor

See Also:
Constant Field Values

ROBOT_NOT_SET

public static final int ROBOT_NOT_SET
Set menu when robot not added

See Also:
Constant Field Values

ROBOT_SET

private static final int ROBOT_SET
Set menu when robot added

See Also:
Constant Field Values

RUN

private static final int RUN
Set menu when LeJos code runs

See Also:
Constant Field Values

PAUSE

private static final int PAUSE
Set menu when LeJos code paused

See Also:
Constant Field Values

robot

private SimRobot robot
Robot of simulation


lights

private java.util.Vector lights
Lights of simulaiton


ro

public SimRoboOption ro
Option Pane


mb

private SimJMenuBar mb
Menubar


spum

public SimJPopupMenu spum
Popup Menu


scl

public SimCodeLoader scl
SimLoader Class


drawCanvas

public boolean drawCanvas
draw canvas switch


drawPic

public boolean drawPic
draw pic switch


drawSensor

public boolean drawSensor
draw sensor switch

Constructor Detail

SimJPanel

public SimJPanel(SimRoboOption optPanel,
                 SimJMenuBar menuBar)
Method Detail

addRobot

private void addRobot(int x,
                      int y)
Adds robot to simulation (panel)

Parameters:
x - x coordinate of robot on panel
y - y coordinate of robot on panel

addLight

private void addLight(int x,
                      int y)
Adds light to simulation (panel)

Parameters:
x - x coordinate of light on panel
y - y coordinate of light on panel

getLights

public java.util.Vector getLights()
Returns lights vector

Returns:
lights vector

changeCursor

private void changeCursor(int typ)
Changes mouse cursor

Parameters:
typ - typ of mouse cursor (default or hand)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Implementation of ActionListener Handles menu events

Specified by:
actionPerformed in interface java.awt.event.ActionListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent itemEvent)
Handles CheckBox events of menu

Parameters:
itemEvent -

runSim

public void runSim()
Runs simulation. Creates new SimCodeLoader Object if needed an runs LeJos code


pauseSim

public void pauseSim()
Pauses simulation


stopSim

public void stopSim()
Stops simulation


processMouseEvent

public void processMouseEvent(java.awt.event.MouseEvent e)
Shows popup menu

Overrides:
processMouseEvent in class java.awt.Component

setMenu

public void setMenu(int type)
Sets mainmenu accessibility

Parameters:
type - type of menu style

setObjectMenu

private void setObjectMenu(int type)
Sets menu state on simulation objects


clear

private void clear()
Clears all objects from simulation and resets RCX values


removeLight

public void removeLight(SimLight l)
Clears light from simulation

Parameters:
l - Light to remove

removeRobot

public void removeRobot(SimRobot r)
Clears robot from simulation

Parameters:
r - Robot to remove