Übung 14

Werbung
Java-Kurs - 14. Übung
Benutzeroberflächen und Graphik
• Besprechung der Hausaufgabe
• Zeichen von Polygonen
• Interaktion - Reaktion auf Mausklick
Exkurs: Starten von JavaProgrammen ohne Forte
• DOS-Eingabeaufforderung
• cd m:\Java-Aufgaben\Aufgabe13
• javac Nikolaus.java
//Kompilieren
• java Nikolaus
//Ausführen
• javac bzw. java mit Pfad (z.B.
d:\programme\jdk1.3\bin), falls nicht in PATHUmgebungsvariable
Exkurs: Starten von JavaProgrammen ohne Forte
• Alternative: Batch-Datei, z.B. start.bat:
cd m:\Java-Aufgaben\Aufgabe13
java Nikolaus
• Verknüpfung der Endung class mit java sinnlos
(falsches Verzeichnis, Endung .class muss weg)
Hausaufgabe 11
Zeichnen Sie in einem Frame
das Haus vom Nikolaus
Lösung:
siehe Dateien
Nikolaus.java,
Nikolaus.form
Wiederholung:
die Methode Paint
• Die Ausgabe in ein Fenster sollte durch die
Überlagerung der Methode paint erfolgen
(Polymorphismus)
• paint bekommt beim Aufruf eine Instanz der
Klasse Graphics übergeben.
• (diese referenziert die eigentliche Zeichenfläche)
• Definition von paint:
public void paint (Graphics g) { .... }
Zeichnen von Polygonen
•
•
•
•
Methode drawPolygon(....)
Methode von Graphics (Aufruf in paint(Graphics g))
drawPolygon(x-Array ,y-Array, Anzahl_Punkte);
Beispiel:
int[] x = {2 , 7 , 9};
int[] y = {5 , 9 , 22};
g.setColor(Color.blue);
g.drawPolygon(x ,y , 3);
• fillPolygon(...) analog
Abfangen eines Maus-Klick
• Forte - Explorer: Form - rechte Maustaste:
Events - Mouse - mouseClicked
• Erzeugt Methode
private void formMouseClicked
(java.awt.event.MouseEvent evt) {..}
• Methode wird bei jedem Klick aufgerufen
• Wohin wird geklickt?
Methoden getX() und getY() von MouseEvent
(Haus)aufgabe 12
Zeichen Sie in einem Frame ein Polygon,
dessen Eckpunkte über Klicks mit der
Maus eingegeben werden.
Methoden:
• paint(...) von Form
• drawPolygon(...) von Graphics
• getX() und getY() von MouseEvent
Dokumentation zu Java:
c:\Programme\jdk1.3\docs\api\index.html
Herunterladen