AWT – Detailbetrachtung

Werbung
AWT –
Detailbetrachtung
Java 3D – Seminar
im Wintersemester 2002/2003
Christian Schneider
Agenda
1
EINFÜHRUNG INS AWT
2
DIE BAUSTEINE DER GRAFISCHEN
BENUTZEROBERFLÄCHE DES AWT
3
DAS EVENT-MODELL DES AWT
4
GRAFIKAUSGABE
3D – Seminar
Christian Schneider
1
Einführung ins AWT
Was IST denn AWT???
AWT belebt das GUI.
„ AWT ist das
Abstract Window Toolkit.
„ AWT notwendig für das GUI
„ Ein Teil des Java 2 SDK (Software Development Kit)
„ Sammlung vieler Klassen und Methoden
(java.awt.*)
„ Einsatz in Applikationen und Applets möglich
„ „Baukastensystem“
3D – Seminar
Christian Schneider
2
AWT ist plattformunabhängig.
Java
Java
Programm
Programm
API
API
application
application
programming
programming
interface
interface
Java
Java
AWT
AWT
Aussehen
Aussehen
plattformplattformabhängig
abhängig
Display
Native
NativeGUI
GUI
Mac,
Mac,Windows,
Windows,
Unix…
Unix…
DISPLAY
3D – Seminar
Christian Schneider
Komponenten sind die
AWT-Grundlage.
add()
Ap
p
3D – Seminar
le t
!!!
Christian Schneider
3
Menüs stammen von
MenuComponent ab.
3D – Seminar
Christian Schneider
Buttons, Listen & Co.
Die Bausteine der grafischen
Benutzeroberfläche des AWT
4
AWT hat VIELE Komponenten.
3D – Seminar
Christian Schneider
AWT delegiert Ereignisse.
„ Der Benutzer macht
„
„
„
Mausklicks
Tastaturanschläge
Mausbewegungen
„ Das Betriebssystem erzeugt
ein Ereignis (Event)
„ AWT erhält dieses Ereignis und
delegiert es weiter…
DELEGATION EVENT MODELL
3D – Seminar
Christian Schneider
5
Lauschet den Quellen!
ActionListener
MouseListener
KeyListener
Quelle
Lauscher
mit der der Anwender interagiert
der Ereignis bearbeitet
3D – Seminar
Christian Schneider
EventListener definieren und
registrieren…
„ java.awt.event importieren
„
Klassen und Interfaces für Event-Handling
„ Event-Lauscher definieren
„
eigene Klasse definieren, die ein Listener-Interface implementiert
„ Lauscher für Quelle registrieren
„
„
„
3D – Seminar
(Beispiel folgt im Anschluss)
b1.addActionListener(this);
hier wird beim Knopf b1 nach Events gelauscht
Christian Schneider
6
Jedem Event sein Listener!
Listener Interface
Adapter-Klasse
Methoden
ActionListener
-
actionPerformed(ActionEvent)
FocusListener
FocusAdapter
focusGained(FocusEvent)
focusLost(FocusEvent)
KeyListener
KeyAdapter
keyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent)
MouseListener
MouseAdapter
MouseMotionListener
MouseMotionAdapter
ItemListener
-
TextListener
-
WindowListener
WindowAdapter
usw...
3D – Seminar
Christian Schneider
Grafikdarstellung
mittels AWT
Graphics-Klasse, Canvas
und Methoden
7
Der Künstler braucht
Werkzeug…
„ eine Zeichenfläche
„
„
Æ
prinzipiell jede Komponente möglich
spezieller Teilbereich ist sinnvoll
Canvas-Komponente
„ Zeichenmethoden
„
Æ
Linien, Kreise, Rechtecke, Text usw.
Graphics-Klasse
„ Methode zum Aufrufen der Zeichenmethoden
„
„
Methode paint()
Programmierer muss paint() überschreiben.
3D – Seminar
Christian Schneider
Canvas, die kann was…
X
(0,0)
(30,20)
drawLine(30,20,80,100)
(80,100)
Bereich, in dem gezeichnet wird.
Y
3D – Seminar
(width-1, height-1)
Christian Schneider
8
Eigene Canvas ableiten,
paint() überschreiben!
class MeineCanvas extends Canvas
{
// paint überschreiben!!!
public void paint(Graphics g)
{
g.setColor(Color.green);
int xCo[] = {100,150,50,100};
int yCo[] = {50,150,150,50};
int n = xCo.length;
g.fillPolygon(xCo, yCo, n);
}
50,150
}
// Canvas in Fenster aufnehmen
MeineCanvas myCanvas = new MeineCanvas();
xyPanel.add(myCanvas);
3D – Seminar
100,50
150,150
Christian Schneider
Quellen
„ Java™ API – Band 2
„
offizielle Dokumentation von JavaSoft
„ Java – Programmierung interaktiver
WWW-Seiten
„
Walter Doberenz / Uwe Druckenmüller
„ Jetzt lerne ich Java
„
Dirk Louis / Peter Müller (Markt und Technik)
„ Online Doku von Sun
„
3D – Seminar
java.sun.com
Christian Schneider
9
Herunterladen