~Java4Beginners~
~Java4Beginners~

JToolBar

Aus verschiedenen Anwendungenn ist es bereits bekannt, dass wir eine Werkzeugleiste vom oberen Rand trennen können und in unserer Anwendung frei verschieben können. Diese Möglichkeit stellt Java mit der Containerklasse JToolBar zur Verfügung. Im Normalfall wird die Toolbar unterhalb des Menüs angeordnet. In diesem Kapitel wird im Beispielprogramm deshalb schon etwas vorgegriffen und ein Menü implementiert, um die Toolbar zu zeigen.

Konstruktoren

Bei den Konstruktoren können, bzw. werden 2 Parameter vorkommen.
  • orientation - Gibt an, ob die ToolBar VERTIKAL oder HORIZONTAL angeordnet ist.
  • name - Gibt den Namen an, der beim abtrennen vom Menü an der Toolbar angezeigt werden soll.
Kontstruktor Erklärung
JToolBar() Erzeugt eine Toolbar, deren Ausrichtung HORIZONTAL ist.
JToolBar(orientation) Hier werden die Konstanten JToolBar.VERTICAL oder JToolBar.HORIZONTAL (je nach gewünschter Ausrichtung) vergeben.
JToolBar(name) Es wird ein String mit dem Namen übergeben, welcher bei Abtrennung dem Werkzeugfenster gegeben wird.
JToolBar(name, orientation) Hier werden beide Parameter (Werkzeugfenstertitel und Ausrichtung) übergeben.

Methoden

Methode Erklärung
setMargin(new Insets(top, left, bottom, right)) Abstand von der Schaltfläche bis zum Rand. (Klasse Insets muss importiert werden.)
getMargin() Liefert ein Insets-Objekt mit den aktuellen Innenabständen der Schaltflächen zurück.
getOrientation() Liefert den int-Wert der aktuellen Tollbar-Ausrichtung.
setFloatable(boolean) Hiermit können wir mit false sorgen, dass die Toolbar nicht mehr abgetrennt werden kann. Mit true kann die Toolbar dann wieder freigegeben werden.
isFloatable() Liefert einen Boolean-Wert zurück, ob die Toolbar abgetrennt werden kann (true), oder nicht (false).

Beispielprogramm


import java.awt.Color;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JToolBar;

/**
 * Beispielprogramm für JToolBar
 * @author Markus Badzura
 */
public class ContainerJToolBar extends JFrame
{
    public void ContainerJToolBar()
    {
        setTitle("Beispielprogramm Containerklasse JToolBar");
        setSize(600,300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        // Hier wird das Menü erzeugt und hinzugefügt
        JMenuBar menu = new JMenuBar();
        menu.add(new JMenu("Tools"));
        //Hier wird die Toolbar erzeugt, der Buttons hinzugefügt werden.
        JToolBar to = new JToolBar();
        to.setSize(220, 20);
        // Insets(int top, int left, int bottom, int right)
        to.setMargin(new Insets(0,20,0,20));
        to.add(new JButton("Hammer"));
        to.add(new JButton("Schere"));
        to.add(new JButton("Locher"));   
        to.setName("Werkzeuge");
        setJMenuBar(menu); // Menü dem Frame aufsetzen
        add(to);
        JPanel panel = new JPanel();
        panel.setBackground(Color.blue);
        add(panel);
        setVisible(true);
    }
    
    public static void main(String[] args) 
    {
        ContainerJToolBar tb = new ContainerJToolBar();
        tb.ContainerJToolBar();
    }
}
Wie Sie sehen können, wurde dem JFrame zum Menü und der ToolBar noch zusätzlich ein JPanel übergeben. Dies ist notwendig, da sich ansonsten die Höhe der Toolbar automatisch an die Fenstergröße anpasst, bzw. der Abtrennstreifen der Toolbar. Da dies optisch nicht besonders schön ist, wurde der JPanel hinzugefügt.
Unsere Toolbar sieht nun wie folgt aus.

Nun können wir unsere Toolbar vom Menü lösen und frei positionieren.

Wenn wir die Toolbar schließen, wird sie automatisch wieder an die Menüleiste angehängt.
nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-18