|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttheater.Performance
public class Performance
Die Klasse Performance definiert Methoden zur Steuerung und Verwaltung der Ausführung von Theater-Programmen(stop, suspend, setSpeed, freeze, unfreeze).
Weiterhin werden Methoden definiert, die unmittelbar nach entsprechenden Steuerungsaktionen aufgerufen werden, und zwar auch, wenn die Aktionen durch die Steuerungsbuttons des Simulators ausgelöst wurden(started, stopped, speedChanged). Möchte ein Programmierer zusätzliche Aktionen mit den entsprechenden Steuerungsaktionen einhergehen lassen, kann er eine Unterklasse der Klasse Performance definieren und hierin die entsprechende Methode überschreiben.
Zusätzlich stellt die Klasse Performance eine Methode playSound zur Verfügung, mit der eine Audio-Datei abgespielt werden kann. Die Datei muss sich im Unterverzeichnis "sounds" des entsprechenden Theraterstücks befinden. Unterstützt werden die Formate wav, au und aiff.
Über die Methode setActiveStage ist es möglich, die aktuell aktive Bühne gegen eine andere Bühne auszutauschen, d.h. das Bühnenbild zu wechseln. Unter Umständen aktive Akteure der alten Bühne werden dabei nicht automatisch gestoppt. Die Methode getActiveStage liefert die gerade aktive Bühne.
Das während einer Aufführung aktuelle Performance-Objekt kann mit Hilfe der statischen Methode getPerformance ermittelt werden. Ein Wechsel des Performance-Objektes ist während einer Aufführung nicht möglich.
Field Summary | |
---|---|
static int |
DEF_SPEED
Default-Geschwindigkeit |
static int |
MAX_SPEED
Maximale Geschwindigkeit |
static int |
MIN_SPEED
Minimale Geschwindigkeit |
Constructor Summary | |
---|---|
Performance()
Default-Konstruktor zur Initialisierung eines Performance-Objektes. |
Method Summary | |
---|---|
void |
freeze()
Der Aufruf dieser Methode führt dazu, dass die Ansicht der Bühne "eingeforen" wird, d.h. es werden keinerlei Zustandsänderungen mehr sichtbar, bevor nicht die Methode unfreeze aufgerufen worden ist. |
Stage |
getActiveStage()
Liefert die aktuell dargestellte Bühne |
static Performance |
getPerformance()
Liefert das aktuell gesetzte Performance-Objekte |
int |
getSpeed()
Liefert die aktuelle Ausführungsgeschwindigkeit der Performance. |
void |
lock()
Setzt eine systeminterne Sperre. |
void |
playSound(java.lang.String soundFile)
Spielt einen Sound ab, der aus einer Datei geladen wird. |
void |
resumed()
Diese Methode wird unmittelbar nach dem Fortsetzen eines angehaltenen Theaterstücks aufgerufen. |
void |
setActiveStage(Stage stage)
Wechselt die Bühne. |
void |
setSpeed(int newSpeed)
Ändert die aktuell eingestellte Ausführungsgeschwindigkeit. |
void |
speedChanged(int newSpeed)
Diese Methode wird aufgerufen, wenn sich die Geschwindigkeit des Theaterstücks ändert. |
void |
started()
Diese Methode wird unmittelbar nach dem Starten bzw. |
void |
stop()
Stopped eine Performance und setzt sie in den Zustand STOPPED. |
void |
stopped()
Diese Methode wird unmittelbar nach dem Stoppen eines Theaterstücks aufgerufen. |
void |
suspend()
Pausiert eine Performance und setzt sie in den Zustand PAUSED. |
void |
suspended()
Diese Methode wird unmittelbar nach dem Anhalten/Pausieren eines Theaterstücks aufgerufen. |
void |
unfreeze()
Bei Aufruf dieser Methode wird der Eingefroren-Zustand wieder verlassen. |
void |
unlock()
Gibt die mittels der Methode lock gesetzte Sperre wieder frei. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static int DEF_SPEED
public static int MAX_SPEED
public static int MIN_SPEED
Constructor Detail |
---|
public Performance()
Method Detail |
---|
public void freeze()
public Stage getActiveStage()
public static Performance getPerformance()
public int getSpeed()
public void lock()
Bei der Sperre handelt es sich um einen Reentrant-Lock! D.h. es können durchaus mehrere lock-Aufrufe verschachtelt werden, für jeden lock-Aufruf ist jedoch für eine Entsperrung ein entsprechender unlock-Aufruf notwendig!
public void playSound(java.lang.String soundFile) throws java.lang.IllegalArgumentException
soundFile
- Name der Sounddatei; die Datei muss sich im Unterverzeichnis
sounds des Theaterstück-Verzeichnisses befinden
java.lang.IllegalArgumentException
- wird geworfen, wenn die angegebene Datei keine gültige
lesbare Sounddatei istpublic void resumed()
Sollen mit dem Fortsetzen eines Theater-Programms weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.
public void setActiveStage(Stage stage)
stage
- die neue Bühnepublic void setSpeed(int newSpeed)
Die Methode kann aus einem Programm heraus aufgerufen werden. Sie wird auch aufgerufen, wenn der Nutzer im Theater-Simulator den Geschwindigkeitsregler benutzt.
newSpeed
- die neue Ausführungsgeschwindigkeit, die zwischen MIN_SPEED
und MAX_SPEED liegen solltepublic void speedChanged(int newSpeed)
Sollen mit einer Geschwindigkeitsänderung weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.
newSpeed
- die neue Geschwindigkeitpublic void started()
Sollen mit dem Start eines Theaterstücks weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.
public final void stop()
Die Methode kann aus einem Programm heraus aufgerufen werden. Sie wird in Solist NICHT aufgerufen, wenn der Nutzer im Theater-Simulator den Stopp-Button anklickt.
public void stopped()
Sollen mit dem Stoppen eines Theater-Programms weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.
public final void suspend()
Die Methode kann aus einem Programm heraus aufgerufen werden. Sie wird in Solist NICHT aufgerufen, wenn der Nutzer im Theater-Simulator den Pause-Button anklickt.
public void suspended()
Sollen mit dem Anhalten eines Theater-Programms weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.
public void unfreeze()
public void unlock()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |