Literatur

JToolBar

Mit der Klasse javax.swing.JToolBar stellt Java eine sogenannte Werkzeugleiste zur Verfügung. Diese im Englischen auch als Toolbar bezeichnete Komponente wird benutzt,  um häufig verwendete Funktionalitäten in einer Leiste direkt zur Verfügung zu stelllen.

Ein Beispiel für die Verwendung einer Toolbar finden Sie beispielsweise in Programmen zur Grafikbearbeitung (z.B. Paint). Dort werden Ihnen verschiedene Werkzeuge zur Grafikbearbeitung angeboten (z.B. Radiergummi).  Auch in Textbearbeitungsprogrammen stehen üblicherweise Werkzeugleisten, über die der Anwender beispielsweise die Schriftart, -farbe oder -größe ändern kann, zur Verfügung. Die einzelnen Werkzeuge werden normalerweise durch passende Symbole repräsentiert.

Wenn Sie eine Anwendung entwickeln, sollten Sie überlegen, ob es dort auch Funktionalitäten gibt, die bei der Benutzung des Programms häufig Verwendung finden. Wenn Sie diese in einer Werkzeugleiste integrieren, erhöhen Sie den Bedienkomfort, da der Anwender sich die Funktion nicht erst in der Menüleiste heraussuchen muss.

Neben dem Standardkonstruktor besitzt die Klasse JToolBar weitere Konstruktoren:

Konstruktor Beschreibung
JToolBar(int orientation) Hier wird dem Konstruktor eine Klassenkonstante übergeben (HORIZONTAL oder VERTICAL), welche die Ausrichtung der Werkzeuleiste angibt. Standardmäßig ist die Ausrichtung auf horizontal gesetzt.
JToolBar(String name) Dem Konstruktor wird eine Zeichenkette übergeben, welche als Titel angezeigt wird, wenn die JToolBar nicht mehr an das übergeordnete Fenster gekoppelt ist und in einem eigenen Fenster angezeigt wird.
JToolBar(String name, int orientation) Dieser Konstruktor vereint die beiden oberen Konstruktoren.

 

Nachfolgend ein Beispiel für die Implementierung einer Toolbar in Java:

 
// Import-Anweisungen
import java.awt.Color;
import javax.swing.*;
 
public class JToolBarBeispiel
{
    // main-Methode
    public static void main(String[] args)
    {
        // Erzeugung eines neuen Dialoges
        JDialog meinJDialog = new JDialog();
        meinJDialog.setTitle("JToolBar Beispiel");
        meinJDialog.setSize(450,300);
        // Erstellung einer Menüleiste
        JMenuBar menu = new JMenuBar();
        // Menü wird hinzugefügt
        menu.add(new JMenu("Datei"));
 
        //Toolbar wird erstellt
        JToolBar tbar = new JToolBar();
        //Größe der Toolbar wird gesetzt
        tbar.setSize(230, 20);
 
        // Schaltflächen werden erzeugt und unserer JToolBar hinzugefügt
        tbar.add(new JButton("Drehen"));
        tbar.add(new JButton("Verkleinern"));
        tbar.add(new JButton("Vergrößern"));
 
        // Menüleiste wird für den Dialog gesetzt
        meinJDialog.setJMenuBar(menu);
 
        //Unsere Toolbar wird zum Dialog hinzugefügt
        meinJDialog.add(tbar);
 
        JPanel panel = new JPanel();
        panel.setBackground(Color.YELLOW);
        meinJDialog.add(panel);
 
        // Wir lassen unseren Dialog anzeigen
        meinJDialog.setVisible(true);
 
    }
}

Wie Sie vielleicht festgestellt haben sind unsere import-Anweisungen sehr geschrumpft. Dies liegt daran, dass wir uns viele import-Anweisungen sparen, indem wir stattdessen durch den Befehl import javax.swing.* das gesamte swing-Paket importieren. Der Stern dient als Platzhalter für alle Klassen in dem jeweiligen Paket. Die kurze Variante mit Platzhalter empfiehlt sich, wenn man viele Klassen aus einem Paket verwendet, um den Quellcode übersichtlich zu halten. 

In unserem Beispiel haben wir eine Toolbar mit drei Elementen erstellt und dieses unserem Dialog hinzugefügt. Dafür haben wir hier Schaltflächen (JButton) verwendet. Auf Schaltflächen werden wir im Kapitel Bedienelemente näher eingehen.

Wenn Sie das Beispiel-Programm ausführen, sollte sich Ihnen folgendes Bild bieten:

JToolBar in unserem Dialog unseres Java Tutorials

 

Die Klasse JToolBar verfügt u.a. zwei besondere Methoden: Die Methode setFloatable erwartet einen Parameter vom Datentyp boolean. Wird true übergeben, was der Standardwert ist, so kann der Benutzer die Werkzeugleiste bewegen. Wird false übergeben, so ist die Werkzeugleiste an der vorgegebenen Position fest.

Die Methode setRollover erwartet ebenfalls einen Parameter vom Datentyp boolean. Wird hier ein true übergeben, so wird die Umrandung von Schaltflächen erst gezeichnet, wenn man den Mauszeiger über die entsprechende Schalftläche bewegt. Standardmäßig ist der Wert auf false gesetzt, so dass jede Umrandung der Schaltflächen gezeichnet wird.

Über die entsprechenden get-Methoden kann der aktuell gesetzte Status abgefragt werden.