AWT-Detailbetrachtung ohne Ani

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
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
AWT ist plattformunabhängig.
Java
Programm
API
application
programming
interface
Java
AWT
Native GUI
Mac, Windows,
Unix…
Display
Aussehen
plattformabhängig
DISPLAY
3D – Seminar
Christian Schneider
Komponenten sind die
AWT-Grundlage.
3D – Seminar
Christian Schneider
Menüs stammen von
MenuComponent ab.
3D – Seminar
Christian Schneider
Buttons, Listen & Co.
Die Bausteine der grafischen
Benutzeroberfläche des AWT
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
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
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
3D – Seminar
usw...
Christian Schneider
Grafikdarstellung
mittels AWT
Graphics-Klasse, Canvas
und Methoden
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


3D – Seminar
Methode paint()
Programmierer muss paint() überschreiben.
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
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
Herunterladen