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
-
ControlWindow(boolean)
- Konstruktor der Klasse, der als Argument eine boolean erwartet, die den
Ausfuehrungsmodus anzeigt.
-
actionPerformed(ActionEvent)
- Uebernimmt die Verwaltung der durch die Mausklicks erzeugten Events.
-
adjustmentValueChanged(AdjustmentEvent)
- Diese Methode ist zur Bearbeitung der durch die delayScrollbar erzeugten Events
zustaendig.
-
cellularAutomatonCreated(CellularAutomaton)
- Diese Methode wird aufgerufen, wenn ein neuer Automat erzeugt wurde.
-
computationStopped(boolean)
- Wird aufgerufen, wenn der Berechnungsvorgang erfolgreich abgebrochen oder abgeschlossen
wurde.
-
incrementCounter()
- Diese Methode inkrementiert den Zaehler fuer die gemachten Berechnungsschritte.
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.
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.
cellularAutomatonCreated
public void cellularAutomatonCreated(CellularAutomaton ca)
- Diese Methode wird aufgerufen, wenn ein neuer Automat erzeugt wurde.
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.
incrementCounter
public void incrementCounter()
- Diese Methode inkrementiert den Zaehler fuer die gemachten Berechnungsschritte.
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