Swing :Komponenten I (Teil 2)

Werbung
Swing :Komponenten I (Teil 2)
Swing :Komponenten I (Teil 2)
l
l
l
Bei Swing handelt es sich um eine Programmierschnittstelle und
Grafikbibliothek zum Programmieren von grafischen
Benutzeroberflächen
Swing stellt eine Menge von Klassen zur Verfügung
Swing wurde von Sun Microsystems für die Programmiersprache Java
entwickelt
Swing :Komponenten I (Teil 2)
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.
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
Zusätzliche Komponenten von Swing , die zu
Oberflächenerzeugung genutzt werden Können:
l
l
l
l
l
l
Keyboard Accelerators , also Tastenkombination zur Steuerung
von Komponenten
Drag & Drop
Setzen des Look and Feel
Toltips
Automatisches Double Buffering
Zusätzlichen Kompenenten , um Tabellen und Baumstrukturen
darzustellen
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
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);} }
Swing :Komponenten I (Teil 2)
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.
Swing :Komponenten I (Teil 2)
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.
Swing :Komponenten I (Teil 2)
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.
Swing :Komponenten I (Teil 2)
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 )
mit der angegebenen Richtung.
Erzeugt einen neuen Rollbalken
Swing :Komponenten I (Teil 2)
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:
Swing :Komponenten I (Teil 2)
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 ,
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
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
Swing :Komponenten I (Teil 2)
JScrollBar:
JSlider:
JList:
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
Herunterladen