edu.bonn.xulu.plugin.gui
Class ModelControlContainer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by edu.bonn.xulu.plugin.gui.ModelControlContainer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
ModelControlContainer_parallel

public class ModelControlContainer
extends Container

Diese Klasse stellt einen Container dar, ueber den der Modellablauf gesteuert werden kann. Hierzu enthaelt er 5 Buttons

Je nach Modell-Status sind die Button aktivier oder deaktiviert. Uber die Methode addButtonActionListener(int,ActionListener) koennen den Button zusaetzliche Aktionen zugewiesen werden.
29.04.07, Dominik Appl
it is now possible to access start, stop, init, step and pause from outside (e.g. for controlling the model execution from the MultiModelControlPlugin)

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
 
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 int BUTTON_INIT
          Identifiziert den Init-Button.
static int BUTTON_PAUSE
          Identifiziert den Pause-Button.
static int BUTTON_START
          Identifiziert den Start/Resume-Button.
static int BUTTON_STEP
          Identifiziert den Step-Button.
static int BUTTON_STOP
          Identifiziert den Stop-Button.
protected  XuluModel model
           
 
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
ModelControlContainer(XuluModel model)
          Erzeugt eine neue Modell-Steuerungs-Komponente.
 
Method Summary
 void addButtonActionListener(int button, ActionListener listener)
          Belegt einen Button mit einer Aktion.
 void addThreadListener(WorkingThreadListener listener)
          Fuegt dem Modell-Thread einen Listener hinzu.
protected  void createNewThread()
          Erzeugt einen neuen Thread fuer das Modell.
 XuluModel getModel()
          Liefert das Modell, das durch den Container kontrolliert wird.
 XuluModelThread getModelThread()
           
 void init()
          inits the model
 void pause()
          pauses the model
 void setModel(XuluModel model)
          Setzt das Modell, das durch den Container kontrolliert wird.
 void start()
          starts the model
 void step()
          makes one model step
 void stop()
          stops the model
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getAccessibleContext, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, 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, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, 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

BUTTON_INIT

public static final int BUTTON_INIT
Identifiziert den Init-Button.

See Also:
Constant Field Values

BUTTON_START

public static final int BUTTON_START
Identifiziert den Start/Resume-Button.

See Also:
Constant Field Values

BUTTON_PAUSE

public static final int BUTTON_PAUSE
Identifiziert den Pause-Button.

See Also:
Constant Field Values

BUTTON_STEP

public static final int BUTTON_STEP
Identifiziert den Step-Button.

See Also:
Constant Field Values

BUTTON_STOP

public static final int BUTTON_STOP
Identifiziert den Stop-Button.

See Also:
Constant Field Values

model

protected XuluModel model
Constructor Detail

ModelControlContainer

public ModelControlContainer(XuluModel model)
Erzeugt eine neue Modell-Steuerungs-Komponente.

Parameters:
model - zu steuerndes XuluModel
Method Detail

setModel

public void setModel(XuluModel model)
Setzt das Modell, das durch den Container kontrolliert wird.

Parameters:
model - ein Modell

getModel

public XuluModel getModel()
Liefert das Modell, das durch den Container kontrolliert wird.


addButtonActionListener

public void addButtonActionListener(int button,
                                    ActionListener listener)
Belegt einen Button mit einer Aktion.

Parameters:
button - Code fuer den Button
listener - Aktion
See Also:
BUTTON_INIT, BUTTON_START, BUTTON_PAUSE, BUTTON_STEP, BUTTON_STOP

addThreadListener

public void addThreadListener(WorkingThreadListener listener)
Fuegt dem Modell-Thread einen Listener hinzu.

Parameters:
listener - Modell-Listener

start

public void start()
starts the model


init

public void init()
inits the model


stop

public void stop()
stops the model


step

public void step()
makes one model step


pause

public void pause()
pauses the model


getModelThread

public XuluModelThread getModelThread()

createNewThread

protected void createNewThread()
Erzeugt einen neuen Thread fuer das Modell. Handelt es sich um eine StepModel-Modell, wird ein StepModelThread erzeugt, ansonsten ein XuluModelThread.