Literatur

JToggleButton

Die Implementierung eines JToggleButtons unterscheidet sich vom JButton darin, dass die Schaltfläche zwei Zustände annehmen kann: Selektiert oder nicht selektiert. Wurde der JToggleButton betätigt oder auf selektiert gesetzt, so bekommt die Schaltfläche eine andere Hintergrundfarbe, so dass man erkennt, dass sie ausgewählt wurde. Beim erneuten Klicken ändert sich das Erscheinungsbild wieder in den Ausgangszustand.

Neben dem Standardkonstruktor besitzt die Klasse JToggleButton einige weitere Konstruktoren, die wir in folgender Tabelle kurz näher erläutern wollen.

Konstruktor Kurzbeschreibung
JToggleButton(Action a) Hier wird einem JToggleButton direkt eine Aktion zugewiesen, die durch Anklicken des Buttons ausgelöst werden soll. Auf Actions werden wir an späterer Stelle näher eingehen.
JToggleButton(Icon icon) Dieser Konstruktor erstellt einen JToggleButton mit einem Icon. Diese Verwendung findet man sehr häufig in Werkzeugleisten (JToolBar).
JToggleButton(String text) Hier wird ein JToggleButton mit einem Text als Beschriftung erzeugt.
JToggleButton(String text, Icon icon) Mit Hilfe dieses Konstruktors kann dem JToggleButton sowohl ein Text als auch ein Icon zugewiesen werden. Der Text erscheint hinter dem Icon.
JToggleButton(Icon icon, boolean selected) Dieser Konstruktor erstellt einen JToggleButton mit einem Icon. Zusätzlich wird angegeben, welchen Status die Schaltfläche besitzen soll. Wird der Wert true als zweiter Parameter übergeben, so besitzt die Schaltfläche den Status "gedrückt".
JToggleButton(String text, boolean selected) Hier wird ein JToggleButton mit einem Text als Beschriftung erzeugt. Zusätzlich wird angegeben, welchen Status die Schaltfläche besitzen soll. Wird der Wert true als zweiter Parameter übergeben, so besitzt die Schaltfläche den Status "gedrückt".
JToggleButton(String text, Icon icon, boolean selected) Hier wird der vorhergegangene Konstruktor um ein Icon erweitert.

Der Status des JToggleButtons kann über die Funktion isSelected abgefragt werden, die einen booleschen Wert (true für selektiert und false für unselektiert) zurückgibt.

Nehmen wir nun unsere Beispiel-Anwendung aus dem Kapitel JButton unseres Java Tutorials und ersetzen diesen durch einen JToggleButton.

 
import javax.swing.*;
 
public class JToggleButtonBeispiel
{
    public static void main(String[] args)
    {
        JFrame meinJFrame = new JFrame();
        meinJFrame.setTitle("JToggleButton Beispiel");
 
        JPanel panel = new JPanel();
 
        // JToggleButton mit Text "Drück mich" wird erstellt
        JToggleButton toggleButton = new JToggleButton("Drück mich", true);
 
        // JToggleButton wird dem Panel hinzugefügt
        panel.add(toggleButton);
 
        meinJFrame.add(panel);
        //Fenstergröße wird so angepasst, dass der Inhalt angezeigt wird
        meinJFrame.pack();
        meinJFrame.setVisible(true);
    }
}

Wir haben jetzt einen JToggleButton mit dem sechsten Konstruktor der obigen Tabelle erzeugt. Da wir über den zweiten Parameter den Zustand auf true setzen, wird der Button beim Start des Programms gleich als selektiert angezeigt. Klickt man auf die Schaltfläche, so verändert sich der Zustand auf "unselektiert".

Screenshot vom selektierten Button:

JToggleButton Beispiel

Screenshot vom unselektierten Button:

Wie Sie sehen können, ändert sich die Hintergrundfarbe des Buttons je nach Zustand, in dem er sich befindet.