Übung 13

Werbung
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 InternetAnwendungen verwendet werden
Klassenhierarchie AWT
beliebige graphische Entitäten
Component
(from awt)
Container
eigenständige Programme
„Toplevel Fenster“
Fenster mit
Bedienelementen
geschachtelte Komponenten
(from awt)
Window
eingebettete
Programme
Panel
(from awt)
(from awt)
Frame
Dialog
(from awt)
(from awt)
„Sind sie sicher?
Ja/Nein“
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
Component
paint()
Container
(from awt)
Window
Panel
(from awt)
Frame
Dialog
(from awt)
(from awt)
Applet
(from applet)
MyFrame
FileDialog
(from awt)
paint()
Zeichen von Linien
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
Herunterladen