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