1. Motivation
Worum geht es überhaupt?
-
- eine neue Idee zum Anschluß von Java an eine grafische Oberfläche
- Vermeidung der Probleme mit den vorhandenen Oberflächen (AWT/Swing)
-
- Randbedingungen:
-
· einfach zu programieren
· portabel (X11, Win32, Mac, BeOS etc.)
· einheitliches Verhalten auf allen Plattformen
Java/AWT
-
- durch "native Look & Feel" viele kleine Plattform-Unterschiede
- nur "Schnittmenge" aller Plattformen steht an Funktionalität zur Verfügung
- wenig elegante Eventbehandlung
Java/Swing
-
- auf "normaler" Hardware zu langsam
- erbt Probleme des AWT:
-
· Eventbehandlung
· Klassenhierarchie
Klassenhierarchie bei AWT/Swing
Object
Component
Box.Filler (Swing)
Container
BasicSplitPaneDivider (Swing)
Box (swing)
CellRendererPane (Swing)
JComponent (Swing)
... (Swing)
Panel
Applet
JApplet (Swing)
Window
Dialog
JDialog (Swing)
Frame
JFrame (Swing)
JWindow (Swing)
MenuComponent
MenuBar
MenuItem
...