theater
Class Component

java.lang.Object
  extended by java.lang.Thread
      extended by theater.Component
All Implemented Interfaces:
Runnable, PixelArea
Direct Known Subclasses:
Actor, Prop

public class Component
extends Thread
implements PixelArea

Die Klasse Component ist von der Java-Klasse Thread abgeleitet, erlaubt also die Erzeugung von Threads. Sie definiert Methoden zur Verwaltung von Akteuren und Requisiten, die sie an die von ihr abgeleiteten Klassen Actor und Prop vererbt. Die Klassen Actor und Prop unterscheiden sich nur dadurch, dass von Actor abgeleitete Klassen die Thread-Methode run überschreiben, also Threads definieren können. Bei Unterklassen von Prop wird dies dadurch verhindert, dass die run-Methode in der Klasse Prop als leere final-Methode definiert wird.

Die wichtigsten Methoden der Klasse Component sind Methoden, um Akteuren und Requisiten ein Icon zuzuordnen und sie auf der Bühne bewegen, also umplatzieren oder bspw. rotieren zu können. Weiterhin ist eine Menge von Getter-Methoden definiert, um zum einen ihren Zustand abfragen und zum anderen das Bühnen-Objekt ermitteln zu können, dem sie u.U. zugeordnet sind.

Wie die Klasse Stage enthält die Klasse Component darüber hinaus Kollisionserkennungsmethoden zum Entdecken von Kollisionen der entsprechenden Komponente mit anderen Komponenten sowie Methoden zur Verwaltung von Maus- und Tastatur-Events. Die Klasse Component implementiert das Interface PixelArea, so dass Akteure und Requisiten unmittelbar selbst in die Kollisionserkennung mit einbezogen werden können.

Version:
1.0 (12.11.2008)
Author:
Dietrich Boles, Universität Oldenburg, Germany

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
static int DEF_Z_COORDINATE
          Standardmäßiger Wert der Z-Koordinate
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
protected Component(boolean isActor)
          Konstruktor, der eine neue Komponente als Akteur oder Requisite initialisiert.
 
Method Summary
 void addedToStage(Stage stage)
          Mit Hilfe der add-Methode der Klasse Stage kann eine Komponente auf einer Bühne platziert werden.
 boolean contains(int x, int y)
          Überprüft, ob der angegebene Punkt mit den Koordinaten x und y innerhalb des Icons der Komponente liegt.
 Cell getCell()
          Liefert die Zelle, in der sich die Komponente aktuell auf einer Bühne befindet.
 int getColumn()
          Liefert die Spalte, in der sich die Komponente aktuell auf einer Bühne befindet.
 TheaterImage getImage()
          Liefert das Icon der Komponente als TheaterImage-Objekt.
 int getRotation()
          Liefert den aktuellen Rotationswinkel der Komponente.
 int getRow()
          Liefert die Reihe, in der sich die Komponente aktuell auf einer Bühne befindet.
 Stage getStage()
          Liefert das Objekt der Bühne, auf dem sich die Komponente gerade befindet oder null, falls sich die Komponente aktuell auf keiner Bühne befindet
 int getZCoordinate()
          Liefert die aktuelle z-Koordinate der Komponente.
 boolean intersects(PixelArea area)
          Überprüft, ob das Icon der Komponente eine angegebene PixelArea schneidet.
 boolean isHandlingKeyEvents()
          Überprüft, ob die Komponente Tastatur-Ereignisse behandelt.
 boolean isHandlingMouseEvents()
          Überprüft, ob die Komponente Maus-Ereignisse behandelt.
 boolean isInside(PixelArea area)
          Überprüft, ob das Icon der Komponente vollständig innerhalb der angegebenen PixelArea liegt.
 boolean isVisible()
          Liefert die Sichtbarkeit der Komponente.
 void keyPressed(KeyInfo e)
          Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyPressed-Event eingetreten ist.
 void keyReleased(KeyInfo e)
          Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyReleased-Event eingetreten ist.
 void keyTyped(KeyInfo e)
          Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyTyped-Event eingetreten ist.
 void mouseClicked(MouseInfo e)
          Wird aufgerufen, wenn ein mouseClicked-Event auf der Komponente eingetreten ist, d.h. eine Maustaste geklickt wurde, während sich der Mauszeiger auf dem Icons der Komponente befindet.
 void mouseDragged(MouseInfo e)
          Wird aufgerufen, wenn ein mouseDragged-Event auf der Komponente eingetreten ist, d.h. die Maus bei gedrückter Maustaste bewegt wurde, während sich der Mauszeiger auf dem Icon der Komponente befindet.
 void mouseEntered(MouseInfo e)
          Wird aufgerufen, wenn ein mouseEntered-Event auf der Komponente eingetreten ist, d.h. der Mauszeiger auf das Icon der Komponente gezogen wird.
 void mouseExited(MouseInfo e)
          Wird aufgerufen, wenn ein mouseExited-Event auf der Komponente eingetreten ist, d.h. der Mauszeiger das Icon der Komponente verlässt.
 void mouseMoved(MouseInfo e)
          Wird aufgerufen, wenn ein mouseMoved-Event auf der Komponente eingetreten ist, d.h. die Maus bewegt wurde, während sich der Mauszeiger auf dem Icon der Komponente befindet.
 void mousePressed(MouseInfo e)
          Wird aufgerufen, wenn ein mousePressed-Event auf der Komponente eingetreten ist, d.h. eine Maustaste gedrückt wird, während sich der Mauszeiger oberhalb des Icons der Komponente befindet.
 void mouseReleased(MouseInfo e)
          Wird aufgerufen, wenn ein mouseReleased-Event auf der Bühne eingetreten ist, d.h. eine gedrückte Maustaste losgelassen wird, während sich der Mauszeiger über dem Icon der Komponente befindet.
 void run()
          Muss überschrieben werden und die Akteur-spezifischen Aktionen enthalten
 void setHandlingKeyEvents(boolean handlingKeyEvents)
          Legt fest, ob die Komponente Tastatur-Ereignisse behandeln soll.
 void setHandlingMouseEvents(boolean handlingMouseEvents)
          Legt fest, ob die Komponente Maus-Ereignisse behandeln soll.
 void setImage(String filename)
          Ordnet der Komponente ein Icon zu, durch das sie auf der Bühne repräsentiert wird.
 void setImage(TheaterImage image)
          Ordnet der Komponente ein TheaterImage als Icon zu, durch das sie auf der Bühne repräsentiert wird.
 void setLocation(int newCol, int newRow)
          Mit Hilfe der add-Methode der Klasse Stage können Komponente in einer bestimmten Spalte und Reihe auf einer Bühne platziert werden.
 void setRotation(int rotation)
          Legt den Rotationswinkel fest, mit der das Icon der Komponente gezeichnet werden soll.
 void setVisible(boolean visible)
          Über diese Methode können Komponenten sichtbar bzw. unsichtbar gemacht werden.
 void setZCoordinate(int newZ)
          Ändert die z-Koordinate der Komponente, mit der die Zeichenreihenfolge von Komponenten beeinflusst werden kann.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEF_Z_COORDINATE

public static final int DEF_Z_COORDINATE
Standardmäßiger Wert der Z-Koordinate

See Also:
Constant Field Values
Constructor Detail

Component

protected Component(boolean isActor)
Konstruktor, der eine neue Komponente als Akteur oder Requisite initialisiert.

Parameters:
isActor - true, falss es sich um einen Akteur handelt; false, falls es sich um eine Requisite handelt
Method Detail

addedToStage

public void addedToStage(Stage stage)
Mit Hilfe der add-Methode der Klasse Stage kann eine Komponente auf einer Bühne platziert werden. Nach der erfolgreichen Platzierung wird diese Methode addedToStage für die Komponente aufgerufen. Als Parameter wird dabei das Bühnenobjekt übergeben. Sollen für eine Komponente bestimmte Aktionen ausgeführt werden, sobald sie einer Bühne zugeordnet wird, muss die Methode entsprechend überschrieben werden.

Parameters:
stage - das Objekt, das die Bühne repräsentiert, auf die die Komponente platziert wurde

contains

public boolean contains(int x,
                        int y)
                 throws IllegalStateException
Überprüft, ob der angegebene Punkt mit den Koordinaten x und y innerhalb des Icons der Komponente liegt.

Specified by:
contains in interface PixelArea
Parameters:
x - x-Koordinate des Punktes
y - y-Koordinate des Punktes
Returns:
true, falls der angegebene Punkt innerhalb des Icons der Komponente liegt
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist
See Also:
PixelArea.contains(int, int)

getCell

public Cell getCell()
             throws IllegalStateException
Liefert die Zelle, in der sich die Komponente aktuell auf einer Bühne befindet.

Returns:
die Zelle, in der sich die Komponente aktuell auf der Bühne befindet
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist

getColumn

public int getColumn()
              throws IllegalStateException
Liefert die Spalte, in der sich die Komponente aktuell auf einer Bühne befindet.

Returns:
die Spalte, in der sich die Komponente aktuell auf einer Bühne befindet
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist

getImage

public TheaterImage getImage()
Liefert das Icon der Komponente als TheaterImage-Objekt. Wurde kein Icon zugeordnet, wird null geliefert.

Returns:
das Icon der Komponente als TheaterImage-Objekt

getRotation

public int getRotation()
Liefert den aktuellen Rotationswinkel der Komponente.

Returns:
der aktuelle Rotationswinkel der Komponente

getRow

public int getRow()
           throws IllegalStateException
Liefert die Reihe, in der sich die Komponente aktuell auf einer Bühne befindet.

Returns:
die Reihe, in der sich die Komponente aktuell auf einer Bühne befindet
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist

getStage

public Stage getStage()
Liefert das Objekt der Bühne, auf dem sich die Komponente gerade befindet oder null, falls sich die Komponente aktuell auf keiner Bühne befindet

Returns:
die Bühne, auf der sich die Komponente gerade befindet

getZCoordinate

public int getZCoordinate()
Liefert die aktuelle z-Koordinate der Komponente.

Returns:
die aktuelle z-Koordinate der Komponente

intersects

public boolean intersects(PixelArea area)
                   throws IllegalStateException
Überprüft, ob das Icon der Komponente eine angegebene PixelArea schneidet.

Specified by:
intersects in interface PixelArea
Parameters:
area - das Gebiet, das überprüft werden soll (darf nicht null sein)
Returns:
true, falls das Icon der Komponente die angegebenen PixelArea schneidet
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist
See Also:
PixelArea.intersects(theater.PixelArea)

isHandlingKeyEvents

public boolean isHandlingKeyEvents()
Überprüft, ob die Komponente Tastatur-Ereignisse behandelt. Standardmäßig ist dies der Fall.

Returns:
true, falls die Komponente Tastatur-Ereignisse behandelt

isHandlingMouseEvents

public boolean isHandlingMouseEvents()
Überprüft, ob die Komponente Maus-Ereignisse behandelt. Standardmäßig ist dies der Fall.

Returns:
true, falls die Komponente Maus-Ereignisse behandelt

isInside

public boolean isInside(PixelArea area)
                 throws IllegalStateException
Überprüft, ob das Icon der Komponente vollständig innerhalb der angegebenen PixelArea liegt.

Specified by:
isInside in interface PixelArea
Parameters:
area - das Gebiet, das überprüft werden soll (darf nicht null sein)
Returns:
true, falls das Icon der Komponente vollständig innerhalb der angegebenen PixelArea liegt
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist
See Also:
PixelArea.isInside(theater.PixelArea)

isVisible

public boolean isVisible()
Liefert die Sichtbarkeit der Komponente.

Returns:
true, falls die Komponente sichtbar ist; ansonsten false

keyPressed

public void keyPressed(KeyInfo e)
Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyPressed-Event eingetreten ist. Soll eine Komponente auf keyPressed-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu keyPressed-Events finden sich in der Klasse java.awt.event.KeyListener. Übergeben wird der Methode ein KeyInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingKeyEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf keyTyped-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

keyReleased

public void keyReleased(KeyInfo e)
Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyReleased-Event eingetreten ist. Soll eine Komponente auf keyReleased-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu keyReleased-Events finden sich in der Klasse java.awt.event.KeyListener. Übergeben wird der Methode ein KeyInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingKeyEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf keyTyped-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

keyTyped

public void keyTyped(KeyInfo e)
Wird aufgerufen, wenn während die Bühne den Focus besitzt ein keyTyped-Event eingetreten ist. Soll eine Komponente auf keyTyped-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu keyTyped-Events finden sich in der Klasse java.awt.event.KeyListener. Übergeben wird der Methode ein KeyInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingKeyEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf keyTyped-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseClicked

public void mouseClicked(MouseInfo e)
Wird aufgerufen, wenn ein mouseClicked-Event auf der Komponente eingetreten ist, d.h. eine Maustaste geklickt wurde, während sich der Mauszeiger auf dem Icons der Komponente befindet. Soll eine Komponente auf mouseClicked-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseClicked-Events finden sich in der Klasse java.awt.event.MouseListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseClicked-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseDragged

public void mouseDragged(MouseInfo e)
Wird aufgerufen, wenn ein mouseDragged-Event auf der Komponente eingetreten ist, d.h. die Maus bei gedrückter Maustaste bewegt wurde, während sich der Mauszeiger auf dem Icon der Komponente befindet. Soll eine Komponente auf mouseDragged-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseDragged-Events finden sich in der Klasse java.awt.event.MouseMotionListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseDragged-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseEntered

public void mouseEntered(MouseInfo e)
Wird aufgerufen, wenn ein mouseEntered-Event auf der Komponente eingetreten ist, d.h. der Mauszeiger auf das Icon der Komponente gezogen wird. Soll eine Komponente auf mouseEntered-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseEntered-Events finden sich in der Klasse java.awt.event.MouseListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseEntered-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseExited

public void mouseExited(MouseInfo e)
Wird aufgerufen, wenn ein mouseExited-Event auf der Komponente eingetreten ist, d.h. der Mauszeiger das Icon der Komponente verlässt. Soll eine Komponente auf mouseExited-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseExited-Events finden sich in der Klasse java.awt.event.MouseListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseExited-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseMoved

public void mouseMoved(MouseInfo e)
Wird aufgerufen, wenn ein mouseMoved-Event auf der Komponente eingetreten ist, d.h. die Maus bewegt wurde, während sich der Mauszeiger auf dem Icon der Komponente befindet. Soll eine Komponente auf mouseMoved-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseMoved-Events finden sich in der Klasse java.awt.event.MouseMotionListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseMoved-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mousePressed

public void mousePressed(MouseInfo e)
Wird aufgerufen, wenn ein mousePressed-Event auf der Komponente eingetreten ist, d.h. eine Maustaste gedrückt wird, während sich der Mauszeiger oberhalb des Icons der Komponente befindet. Soll eine Komponente auf mousePressed-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mousePressed-Events finden sich in der Klasse java.awt.event.MouseListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf keyTyped-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

mouseReleased

public void mouseReleased(MouseInfo e)
Wird aufgerufen, wenn ein mouseReleased-Event auf der Bühne eingetreten ist, d.h. eine gedrückte Maustaste losgelassen wird, während sich der Mauszeiger über dem Icon der Komponente befindet. Soll eine Komponente auf mouseReleased-Events reagieren, muss sie diese Methode entsprechend überschreiben. Genauere Informationen zu mouseReleased-Events finden sich in der Klasse java.awt.event.MouseListener. Übergeben wird der Methode ein MouseInfo-Objekt, über das Details zum eingetretenen Event abgefragt werden können.

Die Methode wird nur aufgerufen, wenn der HandlingMouseEvents-Status gesetzt ist (was standardmäßig der Fall ist).

Sowohl Komponenten als auch die Bühne können auf mouseReleased-Events reagieren. Die Reihenfolge, in der eine Benachrichtigung erfolgt, richtet sich nach der Zeichenreihenfolge der Komponenten: Je weiter eine Komponente im Vordergrund ist, desto früher wird sie benachrichtigt. Die Bühne wird nach allen Komponenten benachrichtigt. Durch Konsumieren des Events, kann die Benachrichtigungssequenz abgebrochen werden.

Parameters:
e - enthält Details zum eingetretenen Event

run

public void run()
Muss überschrieben werden und die Akteur-spezifischen Aktionen enthalten

Specified by:
run in interface Runnable
Overrides:
run in class Thread

setHandlingKeyEvents

public void setHandlingKeyEvents(boolean handlingKeyEvents)
Legt fest, ob die Komponente Tastatur-Ereignisse behandeln soll. Standardmäßig ist dies der Fall.

Parameters:
handlingKeyEvents - true, falls die Komponente Tastatur-Ereignisse behandeln soll; false andernfalls.

setHandlingMouseEvents

public void setHandlingMouseEvents(boolean handlingMouseEvents)
Legt fest, ob die Komponente Maus-Ereignisse behandeln soll. Standardmäßig ist dies der Fall.

Parameters:
handlingMouseEvents - true, falls die Komponente Maus-Ereignisse behandeln soll; false andernfalls.

setImage

public void setImage(String filename)
              throws IllegalArgumentException
Ordnet der Komponente ein Icon zu, durch das sie auf der Bühne repräsentiert wird. Erlaubt sind Bilder der Formate gif, jpg und png.

Parameters:
filename - Name der Bilddatei; die Datei muss sich im Unterverzeichnis images des Theaterstück-Verzeichnisses befinden
Throws:
IllegalArgumentException - wird geworfen, wenn die angegebene Datei keine gültige lesbare Bilddatei ist

setImage

public void setImage(TheaterImage image)
Ordnet der Komponente ein TheaterImage als Icon zu, durch das sie auf der Bühne repräsentiert wird.

Parameters:
image - das TheaterImage, das als Icon verwendet werden soll

setLocation

public void setLocation(int newCol,
                        int newRow)
                 throws IllegalStateException
Mit Hilfe der add-Methode der Klasse Stage können Komponente in einer bestimmten Spalte und Reihe auf einer Bühne platziert werden. Die Methode setLocation ermöglicht die Umplatzierung der Komponente auf der Bühne.

Parameters:
newCol - die Spalte, in die die Komponente umplatziert werden soll
newRow - die Reihe, in die die Komponente umplatziert werden soll
Throws:
IllegalStateException - wird geworfen, wenn die Komponente aktuell nicht auf einer Bühne platziert ist

setRotation

public void setRotation(int rotation)
Legt den Rotationswinkel fest, mit der das Icon der Komponente gezeichnet werden soll. Die Drehung erfolgt im Uhrzeigersinn. Standardmäßig beträgt der Rotationswinkel 0.

Achtung: Der Rotationswinkel hat keinen Einfluss auf die Weite und Höhe eines einer Komponente zugeordneten Icons. Diese werden immer auf der Grundlage eines Rotationswinkels von 0 berechnet.

Parameters:
rotation - der neue Rotationswinkel der Komponente

setVisible

public void setVisible(boolean visible)
Über diese Methode können Komponenten sichtbar bzw. unsichtbar gemacht werden. In möglichen Kollisionsabfragen werden allerdings auch unsichtbare Komponenten mit einbezogen.

Parameters:
visible - falls true, wird die Komponente sichtbar; falls false, wird sie unsichtbar

setZCoordinate

public void setZCoordinate(int newZ)
Ändert die z-Koordinate der Komponente, mit der die Zeichenreihenfolge von Komponenten beeinflusst werden kann. Je höher der Wert der z-Koordinate einer Komponente ist, umso weiter gelangt das Icon der Komponente auf der Bühne in den Vordergrund. Die Zeichenreihenfolge von Komponenten mit gleicher z-Koordinate ist undefiniert. Standardmäßig hat die z-Koordinate einer Komponente den Wert DEF_Z_COORDINATE.

Parameters:
newZ - die neue z-Koordinate der Komponente