Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 
Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Objektorientierte Beziehungsfragen
7 Ausnahmen müssen sein
8 Äußere.innere Klassen
9 Besondere Typen der Java SE
10 Generics<T>
11 Lambda-Ausdrücke und funktionale Programmierung
12 Architektur, Design und angewandte Objektorientierung
13 Komponenten, JavaBeans und Module
14 Die Klassenbibliothek
15 Einführung in die nebenläufige Programmierung
16 Einführung in Datenstrukturen und Algorithmen
17 Einführung in grafische Oberflächen
18 Einführung in Dateien und Datenströme
19 Einführung ins Datenbankmanagement mit JDBC
20 Einführung in <XML>
21 Testen mit JUnit
22 Bits und Bytes und Mathematisches
23 Die Werkzeuge des JDK
A Java SE-Paketübersicht
Stichwortverzeichnis


Download:

- Beispielprogramme, ca. 35,4 MB


Buch bestellen
Ihre Meinung?



Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom

Einführung, Ausbildung, Praxis
Buch: Java ist auch eine Insel


Java ist auch eine Insel

Pfeil 17 Einführung in grafische Oberflächen
Pfeil 17.1 GUI-Frameworks
Pfeil 17.1.1 Kommandozeile
Pfeil 17.1.2 Grafische Benutzeroberfläche
Pfeil 17.1.3 Abstract Window Toolkit (AWT)
Pfeil 17.1.4 Java Foundation Classes und Swing
Pfeil 17.1.5 JavaFX
Pfeil 17.1.6 SWT (Standard Widget Toolkit) *
Pfeil 17.2 Deklarative und programmierte Oberflächen
Pfeil 17.2.1 GUI-Beschreibungen in JavaFX
Pfeil 17.2.2 Deklarative GUI-Beschreibungen für Swing?
Pfeil 17.3 GUI-Builder
Pfeil 17.3.1 GUI-Builder für JavaFX
Pfeil 17.3.2 GUI-Builder für Swing
Pfeil 17.4 Aller Swing-Anfang – Fenster zur Welt
Pfeil 17.4.1 Eine Uhr, bei der die Zeit nie vergeht
Pfeil 17.4.2 Swing-Fenster mit javax.swing.JFrame darstellen
Pfeil 17.4.3 Mit add(…) auf den Container
Pfeil 17.4.4 Fenster schließbar machen – setDefaultCloseOperation(int)
Pfeil 17.4.5 Sichtbarkeit des Fensters
Pfeil 17.4.6 Größe und Position des Fensters verändern
Pfeil 17.5 Beschriftungen (JLabel)
Pfeil 17.5.1 Mehrzeiliger Text, HTML in der Darstellung
Pfeil 17.6 Es tut sich was – Ereignisse beim AWT
Pfeil 17.6.1 Die Ereignisquellen und Horcher (Listener) von Swing
Pfeil 17.6.2 Listener implementieren
Pfeil 17.6.3 Listener bei dem Ereignisauslöser anmelden/abmelden
Pfeil 17.6.4 Adapterklassen nutzen
Pfeil 17.6.5 Innere Mitgliedsklassen und innere anonyme Klassen
Pfeil 17.6.6 Aufrufen der Listener im AWT-Event-Thread
Pfeil 17.7 Schaltflächen
Pfeil 17.7.1 Normale Schaltflächen (JButton)
Pfeil 17.7.2 Der aufmerksame ActionListener
Pfeil 17.7.3 Schaltflächen-Ereignisse vom Typ ActionEvent
Pfeil 17.7.4 Basisklasse AbstractButton
Pfeil 17.7.5 Wechselknopf (JToggleButton)
Pfeil 17.8 Alles Auslegungssache – die Layoutmanager
Pfeil 17.8.1 Übersicht über Layoutmanager
Pfeil 17.8.2 Zuweisen eines Layoutmanagers
Pfeil 17.8.3 Im Fluss mit FlowLayout
Pfeil 17.8.4 BoxLayout
Pfeil 17.8.5 Mit BorderLayout in alle Himmelsrichtungen
Pfeil 17.8.6 Rasteranordnung mit GridLayout
Pfeil 17.8.7 Weitere Layoutmanager
Pfeil 17.9 Textkomponenten
Pfeil 17.9.1 Text in einer Eingabezeile
Pfeil 17.9.2 Die Oberklasse der Textkomponenten (JTextComponent)
Pfeil 17.9.3 Geschützte Eingaben (JPasswordField)
Pfeil 17.9.4 Validierende Eingabefelder (JFormattedTextField)
Pfeil 17.9.5 Einfache mehrzeilige Textfelder (JTextArea)
Pfeil 17.10 Grundlegendes zum Zeichnen
Pfeil 17.10.1 Die paint(Graphics)-Methode für den AWT-Frame
Pfeil 17.10.2 Die ereignisorientierte Programmierung ändert Fensterinhalte
Pfeil 17.10.3 Zeichnen von Inhalten auf einen JFrame
Pfeil 17.10.4 Auffordern zum Neuzeichnen mit repaint(…)
Pfeil 17.10.5 Java 2D-API
Pfeil 17.11 Zum Weiterlesen
 

Zum Seitenanfang

17.7Schaltflächen Zur vorigen ÜberschriftZur nächsten Überschrift

Eine Schaltfläche (engl. button) ermöglicht es dem Anwender, eine Aktion auszulösen. Schaltflächen sind meistens beschriftet und stellen eine Zeichenkette dar oder tragen eine Grafik, etwa im Fall eines Symbols in der Symbolleiste. Unter dem AWT kann eine Schaltfläche nur Text, aber keine Icons darstellen.

Swing kennt unterschiedliche Schaltflächen. Dazu zählen JButton für einfache Schaltflächen, aber auch Schaltflächen zum Ankreuzen.

 

Zum Seitenanfang

17.7.1Normale Schaltflächen (JButton) Zur vorigen ÜberschriftZur nächsten Überschrift

Die Schaltfläche JButton reagiert auf Aktivierung und erzeugt ein ActionEvent, das ein angehängter ActionListener meldet.

JButton mit einer einfachen Schaltfläche zum Schließen

Abbildung 17.5JButton mit einer einfachen Schaltfläche zum Schließen

Listing 17.10com/tutego/insel/ui/swing/JButtonDemo.java, main()

JFrame frame = new JFrame();

frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

frame.setLayout( new FlowLayout() );



// Button 1



final Icon icon1 = new ImageIcon(

JButtonDemo.class.getResource( "/images/user-trash-full.png" ) );

final Icon icon2 = new ImageIcon(

JButtonDemo.class.getResource( "/images/user-trash.png" ) );



final JButton button1 = new JButton( icon1 );

frame.add( button1 );



ActionListener al = new ActionListener() {

@Override public void actionPerformed( ActionEvent e ) {

button1.setIcon( icon2 );

}

};



button1.addActionListener( al );



// Button 2



final JButton button2 = new JButton( "Ende" );

frame.add( button2 );



button2.addActionListener( new ActionListener() {

@Override public void actionPerformed( ActionEvent e ) {

System.exit( 0 );

}

} );



frame.pack();

frame.setVisible( true );

Die JButton-API

Es gibt mehrere Konstruktoren für JButton-Objekte. Die parameterlose Variante erzeugt eine Schaltfläche ohne Text. Der Text lässt sich mit setText(String) nachträglich ändern. In der Regel nutzen wir den Konstruktor, dem ein String mitgegeben wird.

class javax.swing.JButton

extends AbstractButton

implements Accessible

[»]Hinweis

Wörter mit einer starken emotionalen Bindung sollten vermieden werden. In englischen Programmen müssen Wörter wie »kill« oder »abort« umgangen werden.[ 243 ](Siehe dazu das Buch »Tog on Interface« von Bruce Tognazzini, auszugsweise unter http://www.asktog.com/TOI/toi06KeyboardVMouse1.html. )

 

Zum Seitenanfang

17.7.2Der aufmerksame ActionListener Zur vorigen ÜberschriftZur nächsten Überschrift

Klicken wir auf die Schaltfläche, so sollte die Aktion gemeldet werden. Diese wird in Form eines ActionEvent-Objekts an den Zuhörer (einen ActionListener) gesendet. Ein ActionListener wird mit der Methode addActionListener(ActionListener) an die Objekte angeheftet, die Aktionen auslösen können. ActionListener ist eine Schnittstelle mit der Methode actionPerformed(…). Die Schnittstelle ActionListener wiederum erweitert die Schnittstelle EventListener, die von allen Listener-Interfaces implementiert werden muss.

interface java.awt.event.ActionListener

extends EventListener
  • void actionPerformed(ActionEvent e)

    Wird aufgerufen, wenn eine Aktion ausgelöst wird.

Werfen wir noch einmal einen Blick auf die Implementierung unserer beiden ActionListener-Klassen, die als anonyme innere Klasse realisiert sind:

ActionListener al = new ActionListener() {

@Override public void actionPerformed( ActionEvent e ) {

button1.setIcon( icon2 );

}

};



button2.addActionListener( new ActionListener() {

@Override public void actionPerformed( ActionEvent e ) {

System.exit( 0 );

}

} );
Die Beziehung zwischen ActionListener und ActionEvent

Abbildung 17.6Die Beziehung zwischen ActionListener und ActionEvent

 

Zum Seitenanfang

17.7.3Schaltflächen-Ereignisse vom Typ ActionEvent Zur vorigen ÜberschriftZur nächsten Überschrift

Registriert die Schaltfläche einen Klick, wird ein ActionEvent erzeugt und auf allen angemeldeten Listenern die Methode actionPerformed(ActionEvent) aufgerufen.

class java.awt.event.ActionEvent

extends AWTEvent
  • int getModifiers()

    Liefert den Umschaltcode für Tasten, die während des Ereignisses gedrückt waren, als Verknüpfung der Konstanten SHIFT_MASK, CTRL_MASK, META_MASK (etwa die (Alt)-, (š)- oder (é)-Taste) und ALT_MASK. Diese Konstanten kommen direkt aus der Event-Klasse, so ist etwa ALT_MASK = Event.ALT_MASK. Außerdem gibt es die Konstanten ACTION_FIRST, ACTION_LAST und ACTION_PERFORMED, die aber alle für den gleichen Wert stehen.

  • long getWhen()

    Liefert einen Zeitstempel, wann das Ereignis ausgelöst wurde.

  • String paramString()

    Liefert einen Erkennungs-String für das Ereignis.

 

Zum Seitenanfang

17.7.4Basisklasse AbstractButton Zur vorigen ÜberschriftZur nächsten Überschrift

Alle Schaltflächen haben in Java eine gemeinsame Oberklasse, die Eigenschaften wie Listener, Abstand Text/Icon und Weiteres bestimmt. Diese Oberklasse ist AbstractButton und ist Basis von:

  • JButton

  • JToggleButton

  • JMenuItem (somit auch für die weiteren Unterklassen JCheckBox und JRadioButton)

Die Klasse AbstractButton und ihre Unterklassen

Abbildung 17.7Die Klasse AbstractButton und ihre Unterklassen

Der AbstractButton ist, wie der Name schon sagt, eine abstrakte Klasse, die aus JComponent hervorgeht. Über die Oberklasse lassen sich die folgenden Eigenschaften für alle Schaltflächen steuern:

  • Das Mnemonik-Zeichen – ein unterstrichener Buchstabe, dessen Taste zusammen mit der (Alt)-Taste aufgerufen werden kann. Dies übernimmt die Methode setMnemonic(char).

  • sich selbst auslösen durch doClick()

  • Icons mit setDisabledIcon(Icon), setDisabledSelectedIcon(Icon), setPressedIcon(Icon), setRolloverIcon(Icon), setRolloverSelectedIcon(Icon) und setSelectedIcon(Icon) ändern

  • die Ausrichtung von Text und Icon in der Schaltfläche durch setVerticalAlignment(…) und setHorizontalAlignment(…) bestimmen

  • die Position von Icon und Text untereinander durch setVerticalTextPosition(…) und setHorizontalTextPosition(…) bestimmen

 

Zum Seitenanfang

17.7.5Wechselknopf (JToggleButton) Zur vorigen ÜberschriftZur nächsten Überschrift

Ein JToggleButton (zu Deutsch Wechselknopf) hat im Gegensatz zum JButton zwei Zustände. Dies ist vergleichbar mit einem Schalter, der den Zustand »ein« oder »aus« annimmt. Der JButton gerät in diesen Zustand nur bei der Aktivierung, springt dann aber wieder in seinen ursprünglichen Zustand zurück. Der JToggleButton springt bei der ersten Aktivierung in einen festen Zustand und bleibt dort so lange, bis er wieder aktiviert wird. JToggleButton ist die Oberklasse für die Auswahlknöpfe JCheckBox und JRadioButton.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Zum Katalog
Zum Katalog: Java ist auch eine Insel Java ist auch eine Insel

Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?

Ihre Meinung



 Buchempfehlungen
Zum Katalog: Java ist auch eine Insel

Java ist auch eine Insel




Zum Katalog: Java SE 9-Standard-Bibliothek

Java SE 9-Standard-Bibliothek




Zum Katalog: Professionell entwickeln mit Java EE 8

Professionell entwickeln mit Java EE 8




Zum Katalog: Entwurfsmuster

Entwurfsmuster




Zum Katalog: IT-Projektmanagement

IT-Projektmanagement




 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich

InfoInfo



 

 


Copyright © Rheinwerk Verlag GmbH 2017

Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 

[Rheinwerk Computing]



Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de