Java Reference
In-Depth Information
komplexe Zeichnungen in Bewegung versetzen. Sie können das hier verwendete Bild
Ball.jpg von der DVD verwenden oder auch selbst eine andere Zeichnung erstellen.
Leiten Sie zuerst eine neue Klasse JBallPanel von der Klasse JPanel ab. Da wir für die
Animation wieder einen Thread anlegen müssen, erweitern Sie die Kopfzeile um das
Implementieren von Runnable , und erweitern Sie die Eigenschaften um
public int x=0;
private Image img;
private boolean vor=true;
Listing 14.10 Attribute der Klasse »JBallPanel«
Die Eigenschaften legen den Anfangszustand fest. Die Eigenschaft x beschreibt die aktu-
elle Position des Balls (bei Programmstart ganz links im Panel). Das zu ladende Bild wird
in der Image-Variablen img abgelegt und der Boolesche Wert vor beschreibt die aktuelle
Bewegungsrichtung ( true steht für »von links nach rechts«). Überschreiben Sie den
Konstruktor so, dass er die gleiche Hintergrundfarbe für das Panel verwendet, wie sie im
Bild verwendet wurde. Im Fall der Datei Ball.jpg ist das die Farbe Weiß. Als zweite Anwei-
sung wird das Bild aus der Datei in die Image-Variable eingelesen. Hier wird die
Methode getImage der Komponente Toolkit verwendet.
14
JBallPanel() {
super();
setBackground(Color.white);
img = Toolkit.getDefaultToolkit().getImage(
"." + File.separator + "Ball.jpg" );
}
Listing 14.11 Überschriebener Konstruktor der Klasse »JBallPanel«
Die Methode paintComponent muss überschrieben werden, damit auf dem Panel unser
Bild gezeichnet wird:
public synchronized void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, x,
getHeight()/2-img.getHeight(this)/2,
img.getWidth(this), img.getHeight(this), this);
}
Listing 14.12 Überschriebene Methode »paintComponent«
Search WWH ::




Custom Search