Upload
marlene-radman
View
103
Download
0
Embed Size (px)
Citation preview
Java-Kurs - 14. Übung
Benutzeroberflächen und Graphik
• Besprechung der Hausaufgabe
• Zeichen von Polygonen
• Interaktion - Reaktion auf Mausklick
Exkurs: Starten von Java-Programmen 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 PATH-Umgebungsvariable
Exkurs: Starten von Java-Programmen ohne Forte
• Alternative: Batch-Datei, z.B. start.bat:cd m:\Java-Aufgaben\Aufgabe13java 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
• 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
Abfangen eines Maus-Klick
(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