All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class jCell.ControlWindow

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Container
                   |
                   +----java.awt.Window
                           |
                           +----java.awt.Frame
                                   |
                                   +----jCell.ControlWindow

public class ControlWindow
extends Frame
implements ActionListener, AdjustmentListener
ControlWindow ist die Klasse des Systems jCell (PraktWebTech SS99), die die graphische Benutzeroberflaeche zur Bearbeitung der Zellularautomaten (ZA) bereitstellt. Sie erbt dabei von Frame, stellt also ihr eigenes Fenster dar, und implementiert die Schnittstellen ActionListener und ItemListener, so dass sie als ActionListener fuer alle ihre Komponenten dienen kann. Ein angezeigtes ControlWindow teilt sich dabei in fuenf Bereiche: 1. Eine Reihe Buttons ganz oben. 2. Ein Bereich in dem Berechnungsvorgaenge gestartet werden koennen. 3. Ein Panel, in dem Informationen fuer den Benutzer angezeigt werden. 4. Ein Panel zum Neuinitialisieren des ZA und zum Einstellen einer Verzoegerung der graphischen Ausgabe. 5. Einen Messagebereich, in dem Meldungen ueber Aktionen des Benutzers bzw. ueber Fehler ausgegeben werden. Zur Benutzung: Anfangs ist nur der Load-Button, der New-Button und der Exit-Button aktiviert. Die Funktion des Exit-Buttons duerfte allgemein bekannt sein. Der Load-Button verursacht ein Laden eines Zellularautomaten aus einer Datei. Mit dem New-Button kann ein neuer ZA erzeugt werden. Wurde der ZA erfolgreich geladen oder erzeugt, so werden die übrigen Buttons aktiv. Beim Anklicken des Buttons "Show" wird der aktuelle ZA in einem neuen Fenster angezeigt. Das Druecken von "Hide" versteckt entsprechend die graph. Ausgabe. Die eigentliche Berechnung wird durch die Buttons "Run" und "Step" angestossen. Mit "Step" wird genau ein Übergang berechnet. Durch Drücken des Buttons "Run" wird die im Textfield "Steps" angegebene Anzahl von Übergängen abgearbeitet. Das Anklicken des Buttons "Stop" hält den Berechnungsvorgang an.

Version:
0.99, 8/14/99
Author:
Juergen Pahle

Constructor Index

 o ControlWindow(boolean)
Konstruktor der Klasse, der als Argument eine boolean erwartet, die den Ausfuehrungsmodus anzeigt.

Method Index

 o actionPerformed(ActionEvent)
Uebernimmt die Verwaltung der durch die Mausklicks erzeugten Events.
 o adjustmentValueChanged(AdjustmentEvent)
Diese Methode ist zur Bearbeitung der durch die delayScrollbar erzeugten Events zustaendig.
 o cellularAutomatonCreated(CellularAutomaton)
Diese Methode wird aufgerufen, wenn ein neuer Automat erzeugt wurde.
 o computationStopped(boolean)
Wird aufgerufen, wenn der Berechnungsvorgang erfolgreich abgebrochen oder abgeschlossen wurde.
 o incrementCounter()
Diese Methode inkrementiert den Zaehler fuer die gemachten Berechnungsschritte.

Constructors

 o ControlWindow
 public ControlWindow(boolean flag)
Konstruktor der Klasse, der als Argument eine boolean erwartet, die den Ausfuehrungsmodus anzeigt. Es wird ein Fenster erzeugt, in dem alle Komponenten erscheinen, die zur Arbeit mit diesem Programm notwendig sind. Ein als innere Klasse definierter WindowAdapter kontrolliert das Schliessen des ControlWindow und als ActionListener fuer die Buttons dient das ControlWindow selbst. Zum Aufbau der Oberflaeche: ControlWindow mit Namen "jCell" und GridBagLayout beinhaltet das buttonPanel, das runPanel, das outputPanel und ein messagePanel. Das buttonPanel hat ein GridLayout und beinhaltet die sechs Buttons zur Kontrolle des Programms. Dazu gehoeren der Load-, Save-, New-, Edit-, Show- und der Exit-Button. Load- und Save-Button sind nur aktiv, wenn das Programm als Application gestartet wurde. Das runPanel mit GridLayout beinhaltet zwei Buttons zum Start von Berechnungsvorgaengen. Mit dem Step-Button kann genau ein Uebergang durchgefuehrt werden. Durch Betaetigen des Run-Buttons wird die Anzahl von Uebergaengen durchgefuehrt, die im Textfield stepsTextField angegeben wurde. Im outputPanel werden Informationen ueber den Zellularautomaten fuer den Benutzer ausgegeben. Ausserdem kann man mit dem resetCounterButton den Zaehler fuer die durchgefuehrten Berechnungsschritte wieder auf Null setzen. das controlPanel beinhaltet zwei Buttons und eine Scrollbar. Mit dem Reset- und dem Random-Button koennen die Zustaende des Zellularautomaten entsprechend gesetzt werden. Mit der Scrollbar delaySrollbar kann eine Verzoegerung der graphischen Ausgabe eingestellt werden. Das messagePanel ganz unten im ControlWindow gibt Meldungen an den Benutzer ueber die TextArea messages aus und beinhaltet noch das Logo des Programms in der logoCanvas. Die TextArea messages ist nicht editierbar.

Parameters:
flag - Eine boolean, die den Ausfuehrungsmodus des Programms anzeigt. true entspricht Ausfuehrung als Applet, sonst Ausf. als Application.

Methods

 o computationStopped
 public void computationStopped(boolean abgebrochen)
Wird aufgerufen, wenn der Berechnungsvorgang erfolgreich abgebrochen oder abgeschlossen wurde.

Parameters:
abgebrochen - boolean, die anzeigt, ob der Berechnungsvorgang abgebrochen wurde.
 o cellularAutomatonCreated
 public void cellularAutomatonCreated(CellularAutomaton ca)
Diese Methode wird aufgerufen, wenn ein neuer Automat erzeugt wurde.

 o adjustmentValueChanged
 public void adjustmentValueChanged(AdjustmentEvent event)
Diese Methode ist zur Bearbeitung der durch die delayScrollbar erzeugten Events zustaendig.

Parameters:
Ein - AdjustmentEvent, das von der Scrollbar erzeugt wurde.
 o incrementCounter
 public void incrementCounter()
Diese Methode inkrementiert den Zaehler fuer die gemachten Berechnungsschritte.

 o actionPerformed
 public void actionPerformed(ActionEvent event)
Uebernimmt die Verwaltung der durch die Mausklicks erzeugten Events. Dabei werden je nach Kommandoart (Save,Load,usw.) entsprechende Methoden des Zellularautomaten aufgerufen, Buttons enabled oder Textfields ausgelesen, um die vom Benutzer angegebenen Eingaben zu verarbeiten.

Parameters:
event - Ein ActionEvent, das von einem der Buttons erzeugt wurde.

All Packages  Class Hierarchy  This Package  Previous  Next  Index