examples.carcontrol
Class CarGUIImpl

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byexamples.carcontrol.CarGUIImpl
All Implemented Interfaces:
Accessible, CarGUI, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class CarGUIImpl
extends JFrame
implements CarGUI

Version:
"$Id: CarGUIImpl.java 1913 2007-08-08 02:41:53Z jpeters $"
Author:
Daniel Bachmann
See Also:
Serialized Form

Nested Class Summary
 class CarGUIImpl.JIconButton
          Button with Icon
 
Nested classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  Image[] carimg_
           
private  byte doorStatus
           
private  URL home_
           
private static String[] IMAGES_
           
private  JList jList_
          Shows the servers
private  CarGUIImpl.JIconButton lockButton
           
private  boolean lockStatus
           
private  DefaultListModel serverList_
          Holds the visible representation of the servers
private  CarGUIImpl.JIconButton statusButton
           
private  CarGUIImpl.JIconButton[] windowButtonDown
           
private  CarGUIImpl.JIconButton[] windowButtonUp
           
private  byte windowStatus
           
 
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.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 examples.carcontrol.CarGUI
PUBLISH_KEY
 
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
CarGUIImpl()
           
 
Method Summary
private  JPanel createAgentButton()
          Create agent launch button
private  JPanel createCar()
           
private  JPanel createServerList()
           
private  ArrayList findTargets()
          Determines other agent servers and return a list of the servers URL's
private  boolean isSet(byte status, int which)
           
private  void launchAgent(Properties jobprops, String nickname, Class agentclass)
          Generalized method for parametrizing and launching agents.
private  void launchDoorAgent()
          Launches the agent that request the status of the car doors.
private  void launchLockAgent(String action)
          Launches the agent that invokes the centralised door locking.
private  void launchWindowAgent(String action, int which)
          Launches the agent that request the status of the car window and may open or close them..
static void main(String[] argv)
          Simply starts the GUI.
private  void setBackground(Container c, Color col)
           
 void setDoorStatus(byte status)
          Sets the door status of the gui repaint it
 void setLockStatus(boolean status)
          Sets the lock status of the gui and repaint it
 void setWindowStatus(byte status)
          Sets the window status of the gui and repaint it
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

IMAGES_

private static final String[] IMAGES_

serverList_

private DefaultListModel serverList_
Holds the visible representation of the servers


jList_

private JList jList_
Shows the servers


home_

private URL home_

carimg_

private Image[] carimg_

doorStatus

private byte doorStatus

windowStatus

private byte windowStatus

lockStatus

private boolean lockStatus

windowButtonUp

private CarGUIImpl.JIconButton[] windowButtonUp

windowButtonDown

private CarGUIImpl.JIconButton[] windowButtonDown

lockButton

private CarGUIImpl.JIconButton lockButton

statusButton

private CarGUIImpl.JIconButton statusButton
Constructor Detail

CarGUIImpl

public CarGUIImpl()
Method Detail

setBackground

private void setBackground(Container c,
                           Color col)

main

public static void main(String[] argv)
Simply starts the GUI. Type in the SeMoA shell:
java examples.carcontrol.CarGUIImpl


isSet

private boolean isSet(byte status,
                      int which)

createServerList

private JPanel createServerList()

createCar

private JPanel createCar()

createAgentButton

private JPanel createAgentButton()
Create agent launch button


setDoorStatus

public void setDoorStatus(byte status)
Sets the door status of the gui repaint it

Specified by:
setDoorStatus in interface CarGUI
Parameters:
status - the current status representing door position

setWindowStatus

public void setWindowStatus(byte status)
Sets the window status of the gui and repaint it

Specified by:
setWindowStatus in interface CarGUI
Parameters:
status - the current status representing window position

setLockStatus

public void setLockStatus(boolean status)
Sets the lock status of the gui and repaint it

Specified by:
setLockStatus in interface CarGUI
Parameters:
status - the current status of the centralised door locking

launchDoorAgent

private void launchDoorAgent()
Launches the agent that request the status of the car doors.


launchWindowAgent

private void launchWindowAgent(String action,
                               int which)
Launches the agent that request the status of the car window and may open or close them..

Parameters:
action - describes the action on the car window(s)
  • status requests the status of all car windows, the parameter which will be ignored.
  • up raises a window.
  • down lowers a window.
which - number of the window to be opened or closed Use the constants defined in WindowService.

launchLockAgent

private void launchLockAgent(String action)
Launches the agent that invokes the centralised door locking.

Parameters:
action - describes the action on the car window(s)
  • status requests the status of the locking
  • unlock unlocks the car.
  • lock locks the car.

launchAgent

private void launchAgent(Properties jobprops,
                         String nickname,
                         Class agentclass)
Generalized method for parametrizing and launching agents. The agent will be instantiated, parametrized and hand over to the agent launcher.

Parameters:
jobprops - job specific properties that shall be copied in the agent's agent.properties file.
nickname - human readable agent alias name.
agentclass - agent class to be instantiated

findTargets

private ArrayList findTargets()
Determines other agent servers and return a list of the servers URL's

Returns:
list of potential targets an agent can migrate


Copyright © Fraunhofer Gesellschaft. All Rights Reserved.