theater
Class TheaterImage

java.lang.Object
  extended by theater.TheaterImage

public class TheaterImage
extends Object

TheaterImage ist eine Theater-Klasse mit vielfältigen Methoden zum Erzeugen und Manipulieren von Bildern bzw. Ikons, die dann Akteuren, Requisiten oder der Bühne zugeordnet werden können. Die Bilder lassen sich dabei auch noch zur Laufzeit verändern, so dass mit Hilfe der Klasse TheaterImage bspw. Punktezähler für kleinere Spiele implementiert werden können.

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

Constructor Summary
TheaterImage(Class<?> father)
          Konstruktor zur Initialisierung eines TheaterImages mit dem Default-Image der entsprechenden Klasse: Stage: Bühne mit Vorhang Actor: Marionette Prop: Sessel Performance: Flagge ansonsten: Werkzeuge Die Bilder werden im Dateibereich des Theater-Simulators benutzt.
TheaterImage(int width, int height)
          Konstruktor zum Erzeugen eines leeren TheaterImages in einer bestimmten Größe
TheaterImage(String filename)
          Konstruktor zum Initialisieren eines TheaterImage mit einem Bild aus einer Datei.
TheaterImage(TheaterImage im)
          Copykonstruktor zum Initialisieren eines TheaterImages mit einem bereits existierenden TheaterImage
 
Method Summary
 void clear()
          Löscht ein TheaterImage.
 void drawImage(TheaterImage image, int x, int y)
          Zeichnet ein existierendes TheaterImage an einer bestimmten Stelle in das aufgerufene TheaterImage
 void drawLine(int x1, int y1, int x2, int y2)
          Zeichnet im TheaterImage eine Linie in der aktuellen Zeichenfarbe.
 void drawOval(int x, int y, int width, int height)
          Zeichnet im TheaterImage ein Oval in der aktuellen Zeichenfarbe.
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Zeichnet im TheaterImage ein Polygon in der aktuellen Zeichenfarbe.
 void drawRect(int x, int y, int width, int height)
          Zeichnet im TheaterImage ein Rechteck in der aktuellen Zeichenfarbe.
 void drawString(String string, int x, int y)
          Zeichnet im TheaterImage einen Text im aktuell gesetzten Font.
 void fill()
          Füllt das gesamte TheaterImage in der aktuellen Zeichenfarbe.
 void fillOval(int x, int y, int width, int height)
          Zeichnet im TheaterImage ein gefülltes Oval in der aktuellen Zeichenfarbe.
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Zeichnet im TheaterImage ein gefülltes Polygon in der aktuellen Zeichenfarbe.
 void fillRect(int x, int y, int width, int height)
          Zeichnet im TheaterImage ein gefülltes Rechteck in der aktuellen Zeichenfarbe.
 BufferedImage getAwtImage()
          Intern wird ein TheaterImage durch ein java.awt.image.BufferedImage-Objekt realisiert.
 Color getColor()
          Liefert die aktuelle Zeichenfarbe des TheaterImages.
 Color getColorAt(int x, int y)
          Liefert die Farbe eines bestimmten Pixels des TheaterImages.
 Font getFont()
          Liefert den aktuellen Font des TheaterImages.
 int getHeight()
          Liefert die Höhe des TheaterImages in Pixeln.
 int getWidth()
          Liefert die Breite des TheaterImages in Pixeln.
 void mirrorHorizontally()
          Spiegelt das TheaterImage horizontal.
 void mirrorVertically()
          Spiegelt das TheaterImage vertikal.
 void rotate(int degrees)
          Dreht das TheaterImage um eine bestimmte Gradzahl.
 void scale(int width, int height)
          Skaliert das TheaterImage auf einebestimmte Größe.
 void setColor(Color color)
          Ordnet dem TheaterImage eine Farbe zu, in der bei Aufruf der draw- bzw.
 void setColorAt(int x, int y, Color color)
          Setzt ein bestimmtes Pixel des TheaterImages auf eine bestimmte Farbe.
 void setFont(Font f)
          Setzt den Font, in dem Texte durch nachfolgende Aufrufe der drawString-Methode in dem TheaterImage gezeichnet werden sollen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TheaterImage

public TheaterImage(Class<?> father)
Konstruktor zur Initialisierung eines TheaterImages mit dem Default-Image der entsprechenden Klasse: Die Bilder werden im Dateibereich des Theater-Simulators benutzt. Die Default-Images werden auch benutzt, wenn eine Actor- bzw. Prop-Klasse ihren Objekten keine eigenen Ikons zuordnet.

Parameters:
father - Klassenobjekt der entsprechenden Klasse (Stage.class, Actor.class, Prop.class, Performance.class)

TheaterImage

public TheaterImage(int width,
                    int height)
Konstruktor zum Erzeugen eines leeren TheaterImages in einer bestimmten Größe

Parameters:
width - Breite des Bildes in Pixeln (> 0)
height - Höhe des Bildes in Pixeln (> 0)

TheaterImage

public TheaterImage(String filename)
             throws IllegalArgumentException
Konstruktor zum Initialisieren eines TheaterImage mit einem Bild aus einer Datei. Erlaubte Bildformate sind gif, jpq und png.

Parameters:
filename - Name der Bilddatei; die Datei muss sich im Unterverzeichnis "images" des Theaterstücks befinden
Throws:
IllegalArgumentException - wird geworfen, wenn die Datei nicht existiert, keine gültige Bilddatei ist oder nicht lesbar ist

TheaterImage

public TheaterImage(TheaterImage im)
Copykonstruktor zum Initialisieren eines TheaterImages mit einem bereits existierenden TheaterImage

Parameters:
im - ein bereits existierendes TheaterImage (darf nicht null sein)
Method Detail

clear

public void clear()
Löscht ein TheaterImage.


drawImage

public void drawImage(TheaterImage image,
                      int x,
                      int y)
Zeichnet ein existierendes TheaterImage an einer bestimmten Stelle in das aufgerufene TheaterImage

Parameters:
image - das TheaterImage, das gezeichnet werden soll (darf nicht null sein)
x - x-Koordinate, an der das Image gezeichnet werden soll
y - y-Koordinate, an der das Image gezeichnet werden soll

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Zeichnet im TheaterImage eine Linie in der aktuellen Zeichenfarbe.

Parameters:
x1 - x-Koordinate, von der aus die Linie gezeichnet werden soll
y1 - y-Koordinate, von der aus die Linie gezeichnet werden soll
x2 - x-Koordinate, bis wohin die Linie gezeichnet werden soll
y2 - y-Koordinate, bis wohin die Linie gezeichnet werden soll

drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
Zeichnet im TheaterImage ein Oval in der aktuellen Zeichenfarbe.

Parameters:
x - x-Koordinate der linken oberen Ecke des Ovals
y - y-Koordinate der linken oberen Ecke des Ovals
width - Breite des Ovals in Pixeln
height - Höhe des Ovals in Pixeln

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Zeichnet im TheaterImage ein Polygon in der aktuellen Zeichenfarbe. Es wird automatisch ein Linie hinzugefügt, die das Polygon schließt.

Parameters:
xPoints - x-Koordinaten der Linien
yPoints - y-Koordinaten der Linien
nPoints - Anzahl der Liniensegmente

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Zeichnet im TheaterImage ein Rechteck in der aktuellen Zeichenfarbe.

Parameters:
x - x-Koordinate der linken oberen Ecke des Rechtecks
y - y-Koordinate der linken oberen Ecke des Rechtecks
width - Breite des Rechtecks (in Pixeln)
height - Höhe des Rechtecks (in Pixeln)

drawString

public void drawString(String string,
                       int x,
                       int y)
Zeichnet im TheaterImage einen Text im aktuell gesetzten Font.

Parameters:
string - der zu zeichnende Text
x - x-Koordinate, an der der Text beginnen soll
y - y-Koordinate, an der der Text beginnen soll

fill

public void fill()
Füllt das gesamte TheaterImage in der aktuellen Zeichenfarbe.


fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
Zeichnet im TheaterImage ein gefülltes Oval in der aktuellen Zeichenfarbe.

Parameters:
x - x-Koordinate der linken oberen Ecke des Ovals
y - y-Koordinate der linken oberen Ecke des Ovals
width - Breite des Ovals in Pixeln
height - Höhe des Ovals in Pixeln

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Zeichnet im TheaterImage ein gefülltes Polygon in der aktuellen Zeichenfarbe. Es wird automatisch ein Linie hinzugefügt, die das Polygon schließt.

Parameters:
xPoints - x-Koordinaten der Linien
yPoints - y-Koordinaten der Linien
nPoints - Anzahl der Liniensegmente

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Zeichnet im TheaterImage ein gefülltes Rechteck in der aktuellen Zeichenfarbe.

Parameters:
x - x-Koordinate der linken oberen Ecke des Rechtecks
y - y-Koordinate der linken oberen Ecke des Rechtecks
width - Breite des Rechtecks (in Pixeln)
height - Höhe des Rechtecks (in Pixeln)

getAwtImage

public BufferedImage getAwtImage()
Intern wird ein TheaterImage durch ein java.awt.image.BufferedImage-Objekt realisiert. Diese Methode liefert das entsprechende Objekt. Achtung: Einige Methoden tauschen intern das BufferedImage-Objekt aus!

Returns:
das aktuelle interne BufferedImage-Objekt

getColor

public Color getColor()
Liefert die aktuelle Zeichenfarbe des TheaterImages.

Returns:
die aktuelle Zeichenfarbe des TheaterImages

getColorAt

public Color getColorAt(int x,
                        int y)
Liefert die Farbe eines bestimmten Pixels des TheaterImages.

Parameters:
x - x-Koordinate des Pixels
y - y-Koordinate des Pixels
Returns:
die Farbe eines bestimmten Pixels des TheaterImages

getFont

public Font getFont()
Liefert den aktuellen Font des TheaterImages.

Returns:
der aktuelle Font des TheaterImages

getHeight

public int getHeight()
Liefert die Höhe des TheaterImages in Pixeln.

Returns:
die Höhe des TheaterImages in Pixeln

getWidth

public int getWidth()
Liefert die Breite des TheaterImages in Pixeln.

Returns:
die Breite des TheaterImages in Pixeln

mirrorHorizontally

public void mirrorHorizontally()
Spiegelt das TheaterImage horizontal. Achtung: Die Größe des Bildes wird dabei nicht verändert!


mirrorVertically

public void mirrorVertically()
Spiegelt das TheaterImage vertikal. Achtung: Die Größe des Bildes wird dabei nicht verändert!


rotate

public void rotate(int degrees)
Dreht das TheaterImage um eine bestimmte Gradzahl. Achtung: Die Größe des Bildes wird dabei nicht verändert!

Parameters:
degrees - Gradzahl der Drehung

scale

public void scale(int width,
                  int height)
Skaliert das TheaterImage auf einebestimmte Größe.

Parameters:
width - die neue Breite des TheaterImages
height - die neue Höhe des TheaterImages

setColor

public void setColor(Color color)
Ordnet dem TheaterImage eine Farbe zu, in der bei Aufruf der draw- bzw. fill-Methoden die entsprechenden Graphik-Primitiven gezeichnet werden.

Parameters:
color - die neue Zeichenfarbe

setColorAt

public void setColorAt(int x,
                       int y,
                       Color color)
Setzt ein bestimmtes Pixel des TheaterImages auf eine bestimmte Farbe.

Parameters:
x - x-Koordinate des Pixels
y - y-Koordinate des Pixels
color - neue Farbe des Pixels

setFont

public void setFont(Font f)
Setzt den Font, in dem Texte durch nachfolgende Aufrufe der drawString-Methode in dem TheaterImage gezeichnet werden sollen.

Parameters:
f - der neue Font