Upload
reinhard-leffler
View
105
Download
0
Embed Size (px)
Citation preview
AWT – Detailbetrachtung
Java 3D – Seminarim Wintersemester 2002/2003
Christian Schneider
3D – Seminar 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
Einführung ins AWT
Was IST denn AWT???
3D – Seminar Christian Schneider
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
JavaProgramm
JavaProgramm
JavaAWT
JavaAWT
Native GUI
Mac, Windows, Unix…
Native GUI
Mac, Windows, Unix…
AWT ist plattformunabhängig.
Display
APIapplication
programming interface
APIapplication
programming interface
Aussehenplattform-abhängig
Aussehenplattform-abhängig
DISPLAY
3D – Seminar Christian Schneider
Komponenten sind dieAWT-Grundlage.
Applet!!!
add()
3D – Seminar Christian Schneider
Menüs stammen von MenuComponent ab.
Buttons, Listen & Co.
Die Bausteine der grafischen Benutzeroberfläche des AWT
3D – Seminar Christian Schneider
AWT hat VIELE Komponenten.
3D – Seminar Christian Schneider
AWT delegiert Ereignisse.
Der Benutzer macht Mausklicks Tastaturanschläge Mausbewegungen
Das Betriebssystem erzeugtein Ereignis (Event)
AWT erhält dieses Ereignis unddelegiert es weiter…
DELEGATION EVENT MODELL
3D – Seminar Christian Schneider
Lauschet den Quellen!
ActionListener
MouseListener
KeyListener
Quellemit der der Anwender interagiert
Lauscherder 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 (Beispiel folgt im Anschluss) b1.addActionListener(this); hier wird beim Knopf b1 nach Events gelauscht
3D – Seminar 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 usw...
MouseMotionListener MouseMotionAdapter
ItemListener -
TextListener -
WindowListener WindowAdapter
Grafikdarstellungmittels AWT
Graphics-Klasse, Canvasund Methoden
3D – Seminar Christian Schneider
Der Künstler brauchtWerkzeug… 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…
Bereich, in dem gezeichnet wird.
(0,0)
Y
X
(width-1, height-1)
drawLine(30,20,80,100)
(30,20)
(80,100)
3D – Seminar 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);
}}// Canvas in Fenster aufnehmenMeineCanvas myCanvas = new MeineCanvas();xyPanel.add(myCanvas);
100,50
150,15050,150
3D – Seminar Christian Schneider
Noch Fragen?Habe fertig!
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 java.sun.com