Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch Gliederung: 1.Einleitung 2.Vergleich von AWT und Swing 3.Container 4.Applikationsgerüst / Event.

Ähnliche Präsentationen


Präsentation zum Thema: "Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch Gliederung: 1.Einleitung 2.Vergleich von AWT und Swing 3.Container 4.Applikationsgerüst / Event."—  Präsentation transkript:

1 Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch Gliederung: 1.Einleitung 2.Vergleich von AWT und Swing 3.Container 4.Applikationsgerüst / Event Listener 5.Widgets 6.Beispielprogramm

2 1. Einleitung -bei den ersten Java-Versionen Beschwerden über das AWT -Swing ist effektive Antwort auf diese Kritik Weiterentwicklung des AWT Swing ist Teil der JFC (Java Foundation Classes) neue Bibliothek mit ausgefeiltem System zur Erstellung grafischer Benutzerschnittstellen/ - oberflächen die Designstategie Model-View-Controller (MVC) wurde benutzt

3 2. Vergleich von AWT und Swing Vorteile von Swing: wichtigstes Feature: Pluggable Look-And-Feel Swing-Komponenten sind komplett in Java implementiert bessere Kompatibilität zwischen den Programmen über unterschiedliche Plattformen hinweg Swing hat doppelt so viele Komponenten wie das AWT komfortableres Programmieren, viele sog. widgets wie z.B. Standarddialoge

4 2. 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)

5 2. Vergleich von AWT und Swing Gliederung der Swing-Elemente in: 1.Kontrollelemente/Komponenten 2.Container 3.LayoutManager 4.Events

6 2. Vergleich von AWT und Swing AWT

7 2. Vergleich von AWT und Swing Swing

8 3. Container -Container Klassen dienen dazu, Komponenten zu gruppieren, anzuordnen und als eine einzelne Einheit zu behandeln -zur Anordnung der Elemente am Bildschirm hat jeder Container einen Layout Manager zugeordnet -Swing unterscheidet 2 Klassen von Containern: Top-level Container Intermediate-level Container

9 3. Container Top-Level Container JFrame: Klasse für ein Fenster mit Rahmen, Titel und Icons zum Schließen des Fensters JDialog: Klasse für ein sehr allgemeines Dialogfenster JApplet: Klasse für Applets -jedes Programm, welches Swing für das GUI verwendet, hat mindestens einen top-level Container -> Wurzel der Containment-Hierarchie

10 3. Container Intermediate-level Container JPanel: wichtigste und flexibelste Panel-Klasse JScrollPane: ähnl. JPanel mit Scrollbars JTabbedPane: unterstützt Darstellung mehrerer Panels, wobei jeweils nur einer ausgewählt ist JToolBar: enthält eine Gruppe von Elementen in einer Zeile oder Spalte -intermediate-level Container dienen zur Gruppierung und Anordnung von Elementen

11 4. Applikationsgerüst 1: import java.awt.event.*; 2: import javax.swing.*; 3: 4: public class Framework extends JFrame { 5: public Framework() { 6: super("Application Title"); 7: // Hier die Komponenten einfügen 8: } 9: 10: public static void main(String[] args) { 11: JFrame frame = new Framework(); 12: 13: WindowListener l = new WindowAdapter() { 14: public void windowClosing(WindowEvent e) { 15: System.exit(0); 16: } 17: }; 18: frame.addWindowListener(l); 19: 20: frame.setVisible(true); 21: } 22: }

12 4. Event Listener ActionListener: Aktionsereignisse, durch Benutzer ausgelöst AdjustmentListener FocusListener ItemListener KeyListener: Tastaturereignisse; werden erzeugt, wenn Benutzer Text über die Tastatur eingibt MouseListener: Mausereignisse (bei Mausklick, Betreten oder Verlassen einer Komponente) MouseMotionListener: Mausereignisse bei Bewegung der Maus über eine Komponente WindowListener: Ereignisse, die von Fenstern erzeugt werden, wenn sie maximiert, minimiert, verschoben oder geschlossen werden

13 4. Event Listener -Paket java.awt.event beinhaltet alle Event Listener -die folgende Klasse ist so deklariert, dass sie sowohl Aktions- als auch Textereignisse behandeln kann: public class Suspense extends JFrame implements ActionListener, TextListener { //... } -es muß die Methode addActionListener() für jede Komponente aufgerufen werden, die ein Aktionsereignis erzeugt -erst einer Komponente Listener hinzufügen und alle anderen Konfigurationen vornehmen, bevor diese in irgendeinen Container einfügt wird

14 4. Event Listener -getSource()-Methode verwenden, um das Objekt zu ermitteln, das ein Ereignis erzeugt hat -getActionCommand() verwenden, um mehr Informationen über die Quelle eines Ereignisses zu erhalten JButton sort = new JButton("Sort"); sort.setActionCommand("Sort Files");

15 5. Widgets 1 JScrollPane:JTextPane: JEditorPane:JPasswordField:

16 5. Widgets 2 JScrollBar:JProgressBar: JComboBox:JSlider:

17 5. Widgets 3 JList: JMenu: JList mit Grafiken:

18 5. Widgets 4 JPopupMenu: JTree / JSplitPane:BoxLayout: JSeperator:

19 5. Widgets 4 JTabbedPane: JColorChooser:

20 6. Beispielprogramm JTabbedPane JTabbedPane: Teilung der Benutzerschnittstelle in gleich große Fenster Auswahl über Reiter (Tabs) JTabbedPane contentPanel= new JTabbedPane(); cp,cp1 = new JPanel(); […] contentPanel.add("HauptFeatures",cp); contentPanel.add("JTree",cp1); setContentPane(contentPanel);

21 6. Beispielprogramm JButton JButton: sendet ActionEvent beim Drücken JButton b1 = new JButton("Metal"); b1.addActionListener(this); //zum JPanel hinzufügen aPanel.add(b1);

22 6. Beispielprogramm ToolTips & HotKeys JToolTip: Alle Komponenten können kontextsensitive Hinweise anzeigen b1.setToolTipText("Auf Metal umstellen"); HotKey / Mnemonic: Alt + HotKey b1.setMnemonic('m');

23 6. Beispielprogramm Pluggable Look and Feel Gibt die Darstellungsform der Komponenten vor Zur Laufzeit änderbar UIManager.setLookAndFeel(javax.swing.plaf. metal.MetalLookAndFeel); UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel); UIManager.setLookAndFeel(com.sun.java.swing.plaf.motif.MotifLookAndFeel); SwingUtilities.updateComponentTreeUI(this. getContentPane());

24 6. Beispielprogramm JOptionPane JOptionPane: bietet sich für typische Dialoge an Meldungsarten: allgemeine Meldung, Fehlermeldung, Informationsmledung, Frage, Warnung JOptionPane.showMessageDialog(cp, "Mac Benutzeroberfläche ist auf Windows nicht verfügbar!", "Mac-UI", JOptionPane.ERROR_MESSAGE);

25 6. Beispielprogramm JFileChooser JFileChooser: zur Dateiauswahl JFileChooser fc = new JFileChooser(); fc.setCurrentDirectory(new File("C:\\Programme")); fc.showOpenDialog(this);

26 6. Beispielprogramm MouseListener / MouseMotionListener mouseEntered(MouseEvent e) mousePressed(MouseEvent e) mouseClicked(MouseEvent e) mouseExited(MouseEvent e) mouseReleased(MouseEvent e)

27 6. Beispielprogramm JTree JTree tree = new JTree(); DefaultMutableTreeNode root = new DefaultMutableTreeNode("Menü"); DefaultMutableTreeNode swing = new DefaultMutableTreeNode("Swing"); […] DefaultMutableTreeNode jbutton = new DefaultMutableTreeNode(JButton); […] root.add(swing); swing.add(jbutton);

28 Tutorials


Herunterladen ppt "Java – Swing Vortrag von Raphaela Wrede und Anja Jentzsch Gliederung: 1.Einleitung 2.Vergleich von AWT und Swing 3.Container 4.Applikationsgerüst / Event."

Ähnliche Präsentationen


Google-Anzeigen