~Java4Beginners~
~Java4Beginners~

JTabbedPane

Die Klasse JTabbedPane stellt uns die Werkzeuge zur Verfügung, um mit Registerkarten arbeiten zu können. Auch hier gilt es wieder, einige Konstanten zu kennen, die Auswirkung auf unser Layout haben werden. Als Registerhintergrund dient uns hierbei meistens ein JPanel.

tabPlacement

Diese Konstante gibt an, wo sich unsere Register, d. h. die Tableiste befindet. Hierbei gibt es 4 Möglichkeiten.

  • JTabbedPane.TOP - Die Tab-Leiste befindet sich oben.
  • JTabbedPane.BOTTOM - Die Tab-Leiste befindet sich unten.
  • JTabbedPane.LEFT - Die Tab-Leiste befindet sich links.
  • JTabbedPane.Right - Die Tab-Leiste befindet sich rechts.

tabLayoutPolicy

Es kann vorkommen, dass wir durch verändern der Fenstergröße oder auch durch die Anzahl der benötigten Register mit unserer Tab-Leiste eine Größe erreichen, die so nicht mehr im Fenster anzeigtbar ist. Mit tabLayoutPolicy geben wir an, was passieren soll, wenn dieser Fall eintritt.

  • JTabbedPane.WRAP_TAB_LAYOUT - Alle Tab's die nicht mehr in die Reihe passen, werden in einer neuen Reihe angezeigt.
  • JTabbedPane.SCOLL_TAB_LAYOUT - Sollten nicht mehr alle Tabs in einer Zeile sichtbar sein, so erscheint automatisch Schaltflächen zum Scrollen.

Konstruktor

Der Konstruktor verlangt entweder als Parameter (tabPlacement) oder (tabPlacement, tabLayoutPolicy)

Übersicht über einige Methoden

Einige Methoden sind im Umgang mit Registerkarten ganz nützlich. Weitere Methoden sind auf der API von Oracle nachzulesen.
Methode Erklärung
add(title, Component) Fügt einen Tab mit Titel und einem Containerelement hinzu.
add(Component, index) Fügt einen Tab mit dem Titel des Containerelements, sowie einen Index hinzu.
addChangeListerner(ChangeListener l) Fügt einen ChangeListener hinzu, welcher beim Wechseln eines Tab's aktiv wird.
getSelectedComponent() liefert die gerade selektierte Tab-Komponente zurück.
getSelectedIndex() Liefert den Index, d. h. die Position des ausgewählten Tabs.
getTabComponentAt(int index) Der übergebene Index steht für eine Tab-Komponente, die aktiviert wird.
getTabCount() Liefert die Anzahl der Registerkarten zurück.
remove(index) entfernt den durch den Index ausgewählten Tab.
removeAll() Entfernt alle TRegisterkarten vom JTabbedPane.
setSelectedComponent(Component) Mit dieser Methode wird der Tab mit der übergebenen Komponente selektiert.
setSelectedIndex(int index) Der mit dem Index angegebene Tab wird selektiert.

Beispielprogramm


import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

/**
 * Beispielprogramm Containerklasse JTabbedPane
 * @author Markus Badzura
 */
public class ContainerJTabbed extends JFrame
{
    public void ContainerJTabbed()
    {
        setTitle("Beispielprogramm JTabbedPane");
        Dimension d = new Dimension(400,400);    
        setSize(d);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel_blau = new JPanel();
        panel_blau.setSize(d);
        panel_blau.setBackground(Color.blue);
        JPanel panel_rot = new JPanel();
        panel_rot.setSize(d);
        panel_rot.setBackground(Color.red);
        JPanel panel_gruen = new JPanel();
        panel_gruen.setSize(d);
        panel_gruen.setBackground(Color.green);
        JPanel panel_gelb = new JPanel();
        panel_gelb.setSize(d);
        panel_gelb.setBackground(Color.yellow);
        JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
        tab.add("Blauer Reiter",panel_blau);
        tab.add("Roter Reiter", panel_rot);
        tab.add("Grüner Reiter",panel_gruen);
        tab.add("Gelber Reiter",panel_gelb);
        add(tab);
        setVisible(true);
    }
    
    public static void main(String[] args) 
    {
        ContainerJTabbed ct = new ContainerJTabbed();
        ct.ContainerJTabbed();
    }
}
Die erstellte Containeranwendung sieht nun wie folgt aus.

nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-04-24