![Page 1: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/1.jpg)
![Page 2: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/2.jpg)
AWT und JFC
• Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..)
- Seit JDK 1.0
einige Nachteile.....
• JavaTM Foundation Classes -Sammlung graphischer Dialogelemente
![Page 3: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/3.jpg)
Swing
• Erweiterung von AWT• Eigenschaften - GUI-Elemente werden selbst erzeugt Im JDK1.1 eingeführt
Leichtgewichtige Komponenten und Schwergewichtige Komponenten im AWT
z.B: Swing-Button unter Windows ....
- Debug-Graphik - Look-and-Feel
Auswahlmöglichkeiten Umschaltung von Anwendung zur Laufzeit
![Page 4: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/4.jpg)
Das Model-View-Controller-Prinzip
Der Code wird nicht mehr in einer Klasse gepackt sondern…
- ModelVerarbeitungslogik der Komponenten
- ViewDarstellung
- ControllerEvents
![Page 5: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/5.jpg)
![Page 6: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/6.jpg)
Vergleich von AWT und Swing
Swing-Komponenten haben einige neue Features zur Verfügung
Swing-Komponenten sind alle in JAVA implementiert
Swing Komponente verfügen über ein einheitliches dynamisches Look and Feel standardisiert
Swing hat doppelt so viele Komponenten wie das AWT komfortableres Programmieren, viele sog. „widgets“ wie z.B. Standarddialoge
Vorteile von Swing:
![Page 7: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/7.jpg)
Vergleich von AWT und Swing
• Wichtige Merkmale:• zu jeder AWT-Komponente des AWT gibt es
entsprechende Swing-Komponenten, diese beginnen mit J- z.B. JButton statt Button
• zusätzlich ein neues Set an Komponenten• Swing-Komponenten sind alle Subklassen der
Klasse JComponent• alle Elemente von Swing sind Bestandteil des
Paketes javax.swing• Vererbungsunterschiede zwischen AWT und
Swing (siehe Diagramm)
![Page 8: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/8.jpg)
Vergleich von AWT und Swing
• Gliederung der Swing-Elemente in:
• Kontrollelemente/Komponenten
• Container
• LayoutManager
• Events
![Page 9: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/9.jpg)
Vergleich von AWT und Swing
AWT
![Page 10: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/10.jpg)
Vergleich von AWT und Swing
Swing
![Page 11: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/11.jpg)
![Page 12: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/12.jpg)
Swing-Container dienen als Behältnis für Komponenten
Anordnung der Komponenten in einem rechteckigen Bereich
Beispiele für Container:
JFrame
JWindow
JPanel
JDialog
„normale“ Fenster mit Rahmen & Titel
Fenster ohne Rahmen & Titel (z.B. Popup-Menu)
„Ausschnitt“ eines Fensters können beliebig ineinander verschachtelt werden
Fenster, das zu einem „Oberfenster“ gehört
![Page 13: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/13.jpg)
Hinzufügen von Komponenten mit Hilfe der Methode
void add(JComponent comp)
wird von jedem Container implementiert
Beispiel:
JButton okButton = new Button(“OK“);JPanel panel = new JPanel();
panel.add(okButton);
Frage: Wie werden die Komponenten in dem Container angeordnet? ?
![Page 14: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/14.jpg)
Zuordnung von Layout-Managern mit der Methode
void setLayout(LayoutManager manager);
wird ebenfalls von jedem Container implementiert
Aufruf mit dem Argument null „Standard“-Layout-Manager
Komponenten müssen „von Hand“ mit der Methode
void setBounds(int x, int y, int w, int h);
skaliert und angeordnet werden
Vorteil: Volle Kontrolle Nachteil: Keine Automatisierung
![Page 15: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/15.jpg)
FlowLayout BorderLayout GridLayout
Anordnung wie Wörter in einem Text
Ausrichtung einstellbar hier: zentriert
Anordnung am Rahmen nach Himmelsrichtungen(NORTH, SOUTH, EAST, WEST) und im Zentrum (CENTER)
Anordnung in einem regelmäßigen Gitter
hier: 2 x 3 - Gitter
![Page 16: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/16.jpg)
![Page 17: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/17.jpg)
In die Container kommen die verschieden Komponenten
diese werden von der Java-Swing Bibliothek angeboten
Meist werden aber auch noch einige Klassen von AWT benötigt
![Page 18: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/18.jpg)
Menüleiste (MenuBar)ButtonsTextfelder ListenfensterGrafikenusw.
![Page 19: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/19.jpg)
Menüleiste
Buttons
![Page 20: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/20.jpg)
Listenfenster
Combo Boxen
Textfelder
![Page 21: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/21.jpg)
• durch z.B. zusätzliche Tool Tips • diese kennt man aus der gesamten Windows
Welt wenn man länger mit der Maus an einer Stelle verweilt
• Beispiel:
![Page 22: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/22.jpg)
![Page 23: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/23.jpg)
![Page 24: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/24.jpg)
Es gibt zwei Arten Java-Programme
application applet
• Klasse mit main-Methode • HTML-Datei• Initialisierung mit init();• Ausführen mit start();AnalyseProgramm
AnalyseKomponenteextends JFrame
![Page 25: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/25.jpg)
import javax.swing.UIManager;
import java.awt.*;
public class AnalyseProgramm
{
// Konstruktor
public AnalyseProgramm() {
AnalyseKomponente frame = new AnalyseKomponente();
frame.setVisible(true);
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
Kleingedrucktes:
passt das Fenster an.
Fenster wird ‚sichtbar‘ gesetzt
Die Klasse AnalyseProgramm:
TEIL 1
![Page 26: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/26.jpg)
//Main method
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel
ClassName());
}
catch(Exception e) {
e.printStackTrace();
}
new AnalyseProgramm();
}
}
Die Klasse AnalyseProgramm:
TEIL 2
main-Methode
Erzeugung des Fensters
![Page 27: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/27.jpg)
import java.awt.*;import java.awt.event.*;import javax.swing.*;
public class AnalyseKomponente extends JFrame {// Komponenten werden angelegt...// Rahmen wird konstruiert...// Komponenten werden initialisiert ...
jPanel2.add(jTabbedPane1, BorderLayout.CENTER); jTabbedPane1.add(jPanel4, "Graphenschreiber"); jTabbedPane1.add(jPanel5, "Karnaugh-Diagramm"); jTabbedPane1.add(jPanel6, "Wertetabelle"); jTabbedPane1.setSelectedComponent(jPanel4);
...}
Die Klasse AnalyseKomponente
![Page 28: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/28.jpg)
![Page 29: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/29.jpg)
![Page 30: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/30.jpg)
Wie werden die Fenster-Elemente positioniert?
![Page 31: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/31.jpg)
content pane
![Page 32: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/32.jpg)
cont
ent p
ane
Bor
derL
ayou
t
SOUTH
CENTER
![Page 33: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/33.jpg)
cont
ent p
ane
Bor
derL
ayou
t
SOUTH
CENTERCENTER
SOUTH
cont
ent p
ane
Bor
derL
ayou
t
![Page 34: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/34.jpg)
jPanel2.add(jTabbedPane1, BorderLayout.CENTER);
jTabbedPane1.add(jPanel4, "Graphenschreiber");
jTabbedPane1.add(jPanel5, "Karnaugh-Diagramm");
jTabbedPane1.add(jPanel6, "Wertetabelle");
jTabbedPane1.setSelectedComponent(jPanel4);
![Page 35: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/35.jpg)
Ein umfassenderes Beispiel ?
![Page 36: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/36.jpg)
![Page 37: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/37.jpg)
![Page 38: AWT und JFC Abstract Windowing Toolkit - Bibliothek von JDK (sog. Package..) - Seit JDK 1.0 einige Nachteile..... JavaTM Foundation Classes -Sammlung](https://reader035.vdocuments.pub/reader035/viewer/2022062512/55204d7049795902118c28d8/html5/thumbnails/38.jpg)