l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde von Sun Microsystems für die Programmiersprache Java entwickelt
Vorteile von Swing: wichtigstes Feature: Pluggable Look-And-Feel Swing-Komponenten sind komplett in Java implementiert. Swing hat doppelt so viele Komponenten wie das AWT komfortableres Programmieren.
Wichtige Merkmale zu jeder AWT-Komponente des AWT gibt es entsprechende Swing-Komponenten, diese beginnen mit J- z.b. JButton statt Button alle Elemente von Swing sind Bestandteil des Paketes javax.swing
Zusätzliche Komponenten von Swing, die zu Oberflächenerzeugung genutzt werden Können: l Keyboard Accelerators, also Tastenkombination zur Steuerung von Komponenten l Drag & Drop l Setzen des Look and Feel l Toltips l Automatisches Double Buffering l Zusätzlichen Kompenenten, um Tabellen und Baumstrukturen darzustellen
l Java. Swing ist das Basis-Paket für Grafik-und Oberflächenprogrammierung. l Java.awt.imaje für direkte Manipulation von Bildern. l Java.awt.event für das neue Eventhandling-Konzept. l Java.awt.datatransfer biete Möglichkeiten zum Datenaustausch zwischen Applikationen
l Die GUI-Komponenten ist eine Klasse des Swing-Pakets. l GUI-Komponenten werden in drei Gruppen eingeteilt: Container Displays wie JextArea, textfield und Jlabel Basic Controls wie JButton,JCheckBox,JComboBox,Jlist
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
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
Intermediate-level Container JPanel: wichtigste und flexibelste Panel-Klasse JScrollPane: ähnl. JPanel mit Scrollbars JToolBar: enthält eine Gruppe von Elementen in einer Zeile oder Spalte
Jlist: l Die Klasse JList dient dazu,listen von Werten darzustellen, aus denen der Anwender einen oder mehrere Einträge auswählen Kann. l Diese Klasse besitzt folgende Konstruktoren : JList() Erzeugt eine neue leere List-Box JList( Vector list Data) Erzeugt eine liste mit Daten, die dem Feld oder dem Vektor entstammen.
Beispiel l Beispiel : Erzeuge eine JList mit einigen Zeichenketten l String[] listdata = { "Shinguz", "Glapum'tianer", "Suffus", "Zypanon", "Tschung" }; JComponent jlist = new JList( listdata );
l 01: import javax.swing.*; 02: import java.awt.*; 03: 04: public class MyJList extends Jframe 05: { /*ein Array mit Listendaten wird erzeugt*/ 06: String daten[] = {"daten1", "daten2", "daten3", "daten4"}; 07: 08: public MyJList() 09: { 10: super("jlist"); 11: JList liste = new JList(daten); /*der Klasse JList wird erzeugt*/ 12: JPanel panel = new JPanel(); 13: /*Hintergrund der ausgewählten Zeile auf hellgrau setzen*/ 14: liste.setselectionbackground(color.lightgray); /*Vordergrund der ausgewählten Zeileaud rot setzen*/ 15: liste.setselectionforeground(color.red);
16: liste.setforeground(color.blue);/*vordergrund der Liste auf blau setzen*/ 17: liste.setbackground(color.black);/*hintergrund der Liste auf schwarz setzen*/ 18: 19: panel.add(liste); /*Liste wird zum JPanel hinzugefügt*/ 20: setcontentpane(panel); 21: } 22: 23: public static void main(string[]args) 24: { 25: MyJList ml = new MyJList(); 26:ml.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 27: ml.setsize(100,150); 28: ml.setvisible(true);} }
JComboBox: Die JComboBox ist das Swing-Pendant zur AWT-Klasse Choise. Es stellt eine Kombination aus Textfeld und Liste dar. Die wichtigsten Konstruktoren von JComboBox sind: public JComboBox() : Erzeugt ein leeres Auswahlmenü mit einem Standardmodel. Public JComboBox( Object [] items) :Erzeugt ein Auswahlmenü mit Elementen, die im Feld items angegeben sind.
Public JComboBox ( Vector items) : Erzeugt ein Auswahlmenü mit Elementen, die im Vektor items abgelegt sind. Public JComboBox (ComboBoxModel amodel): Erzeugt ein Auswahlmenü mit einem Combo-Box-Model, das die Daten speichert.
l Zur Abfrage oder Selektierten Elements bietet die Klasse weitere Funktionen: Object getselecteditem() Liefert die aktuelle Wahl zurück. Object[] getselectedobjects() Liefert ein Array mit den selektierten Einträgen. int getselectedindex() Liefert den Index des aktuell selektierten Eintrags. void setselectedindex( int position ) Setzt den Eintrag im Titel des Menüs auf den Eintrag mit der Nummer position.
l Rollbalken(JScrollBar): JScrollBar ist die leichtgewichtige Swing-Variante der AWT-Klasse Scrollbar sie dient dazu mit Hilfe eines Schiebereglers einen Wert einzustellen. Der wichtigste Konstruktor der Klasse JScollBar ist : public JScrollBar() Erzeugt einen vertikalen Rollbalken. public JScrollBar( int orientation ) Erzeugt einen neuen Rollbalken mit der angegebenen Richtung.
public JScrollBar ( ) int orientation, /* Mit orientation wird die Ausrichtung des Schiebereglers festgelegt*/ int value, /* value ist der Anfangswert des Schiebers*/ int extent, /* Mit extent wird die Ausdehnung des Schiebers festgelegt */ int min, int max JScrollBar stellt einige Methoden zur Verfügung,mit denen nach der Instanzierung auf die numerischen Eigenschaften des Schiebereglers zugegriffen werden kann:
l Public int getminimum() public void setminimum( int minimum ) public int getmaximum() public void setmaximum ( int maximum) public int getvisibleamount( ) public void setvisibleamount( int extent) public int getvalue() public void setvalue ( int value ) Mit getminimum, getmaximum, setminimum und setmaximum kann auf das Minimum und Maximum des definierten Wertebereichs zugegriffen werden. getvisibleamount liefert die Ausdehnung des Schiebers,
l Mit getvalue und setvalue kann auf den aktuellen Wert des Schiebereglers zugegriffen werden.
Beispiel import java.applet.applet; import java.awt.*; public class ScrollbarDemo extends Applet { Scrollbar slider; public void init() { // Initialisierung des Scrollbars slider = new Scrollbar(Scrollbar.HORIZONTAL); slider.setvalues(50, 100, 0, 200); /*kann aktuellen wert des schiebereglers zugreifen // Hinzufügen des Scrollbars setlayout(new BorderLayout()); add("center", slider); } } 24
Die Klasse JSlider: Ein JSlider lässt den Benutzer zwischen diskreten Werten mit einem Schieberegler wählen. Konstruktor : public Jslider ( int orientation) public JSlider ( int min, int max) public JSlider ( int min, int max, int value) public Jslider ( int orientation, int min, int max, int value) Orientation: Hier können die Konstanten Horizontal und Vertical übergeben werden. min und max legen die Grenzen des Wertbereichs fest. Value : Anfangswert
JScrollBar: JList: JSlider: JComboBox:
JScrollPane: JPasswordField:
l Vielen Dank für Ihre Aufmerksamkeit! Quellen : Handbuch der Java Programmierung (5.Auflage) Guido Krüger & Thomas Stark Java ist auch ein Insel Christian Ullenboom