Java-Kurs - 13. Übung Benutzeroberflächen und Graphik Frames (Fenster) Buttons (Schaltflächen) einfache Graphik
Benutzeroberflächen: Möglichkeiten Abstract Windowing Toolkit (AWT) einfache, grundlegende Grafikfunktionen wird auch für Internet-Applikationen verwendet Swing (neu in Java 2) umfangreiche Bibliotheken für die Gestaltung und Behandlung komplexer Benutzeroberflächen Grafikdarstellung: Java 2D, Java 3D Nachteil: kann nicht (direkt) für Internet- Anwendungen verwendet werden
Klassenhierarchie AWT Component beliebige graphische Entitäten (from awt) geschachtelte Komponenten Container (from awt) eingebettete Programme eigenständige Programme „Toplevel Fenster“ Window Panel (from awt) (from awt) Fenster mit Bedienelementen „Sind sie sicher? Ja/Nein“ Frame Dialog (from awt) (from awt) Applet (from applet) FileDialog (from awt)
Erzeugen eines Frame Frame: Fenster mit Bedienelementen vordefinierte Klasse java.awt.Frame (bei Swing: javax.swing.JFrame) New from Template - AWT Forms - Frame erzeugt java-Datei und Form (Fenster)
Erzeugen eines Button I Button einfügen (GUI Editing) Code erzeugen, z.B. Reaktion auf Klick:
Erzeugen eines Button II Code wird generiert (Methode von MyFrame): private void button1MouseClicked (java.awt.event.MouseEvent evt) { // Add your handling code here: } Code ergänzen, z.B. setTitle("Hallo Welt"); oder setSize(400,300);
Erzeugen eines Button II Code wird generiert (Methode von MyFrame): private void button1MouseClicked (java.awt.event.MouseEvent evt) { // Add your handling code here: setTitle("Hallo Welt"); setSize(400,300); } Code ergänzen, z.B. setTitle("Hallo Welt"); oder setSize(400,300);
Dokumentation: Javadoc Übersicht über Klassen und Methoden: Öffnen der Datei c:\Programme\jdk1.3\docs\api\index.html
Graphik mit AWT Java hat die vollständige Kontrolle über das Fenster, d. h. kein automatisches Rekonstruieren des Fensterinhaltes nach Überdeckung oder nach Verschieben. Aber: zu jedem Fenster ist (durch die Klasse Frame) die Methode paint definiert paint wird vom System automatisch aufgerufen, wenn der Fensterinhalt von einer Veränderung betroffen ist
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) { .... }
Überlagerung der Methode paint MyFrame paint()
Zeichen von Linien Anfangspunkt (x, y) Endpunkt (x, y) public void paint (java.awt.Graphics g) { int i; g.setColor(java.awt.Color.red); setSize(300, 400); for (i=0; i<=300; i=i+10) g.drawLine(20,35+i,300-i+20,35); System.out.println("paint wurde aufgerufen!"); } Anfangspunkt (x, y) Endpunkt (x, y)
Hausaufgabe 11 Zeichnen Sie in einem Frame das Haus vom Nikolaus