~Java4Beginners~
~Java4Beginners~

JSplitPane

JSplitPane stellt uns die Möglichkeit zur Verfügung, das Anwendungsfenster Vertikal oder Horizontal zu unterteilen. Mit JSplitPane können wir nachfolgende Fensteransicht erreichen.
Da es häufig für Verwirrung sorgt. Die Angabe Vertikal und Horizontal bezieht sich auf die Containercomponenten und nicht auf den Trenner. In diesem Beispiel haben wir eine Horizontale Ausrichtung. Kommen wir gleich zu den zwei dazugehörigen Konstanten, die gleichzeitig auch grundsätzlich der erste Parameter des Konstruktors ist.

newOrientation

  • JSplitPane.HORIZONTAL_SPLIT - Die Containercomponenten werden horizontal angeordnet.
  • JSplitPane.VERICAL_SPLIT - Die Containercomponenten werden vertikal angeordnet.

ContinousLyout

Dieser mögliche Konstruktorparameter ist standardmäßig auf false gesetzt und sorgt dafür, dass die beiden Teilbereich bei einer Verschiebung des Trenners erst dann neu gezeichnet werden, wenn die Verschiebung beendet ist.

Container den Seiten zuordnen.

  • setLeftComponent(Component) - Setzt den linken Container.
  • setRightComponent(Component) - Setzt den rechten Container.
  • setBottomComponent(Component) - Setzt den unteren Container.
  • setTopComponent(Component) - Setzt den oberen Container.
Die Auswahl ist abhängig von der Auswahl der Orientation, wobei gesagt werden muss, dass Left und Top zusammengehören und Right und Bottom zusammengehören. Das bedeutet, dass wir bei einer Horizontalen Orientierung mit setBottomComponent(Component) ebenfalls den rechten Bereich benennen.

Trenner

Für den Trenner stehen uns auch einige Methoden zur Verfügung.
Methode Beschreibung
setDividerLocation(Doublewert) Der Trenner wird prozentual gesetzt. Doublewert muss zwischen 0 und 1 liegen, wobei z. B. 0.5 für 50% steht und der Trenner somit mittig gesetzt wird.
setDividerLocation(intwert) Mit dem Int-Wert wird der Abstand zum linken, bzw. zum oberen Rand angegeben.
setDividerSize(intWert) Gibt die Breite des Trenners in pixel an.

Konstruktoren

Folgende Parameter-Konstellationen sind für das JSpliPane möglich.
  • (Orientation)
  • (Orientation, newContinousLayout)
  • (Orientation, newContinousLayout, newLeftComponent, newRightComponent)
  • (Orientation, newLeftComponent, newRightComponent)

Beispielprogramm


import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

/**
 * Beispiel für Containerklasse JSplitPane
 * @author Markus Badzura
 */
public class ContainerJSplit extends JFrame
{
    public void ContainerJSplit()
    {
        setTitle("Beispielprogram JSplitPane");
        setSize(400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(null);
        setLocationRelativeTo(null);
        JSplitPane js = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        js.setSize(400,400);
        JPanel panel_rot = new JPanel();
        JPanel panel_gruen = new JPanel();
        panel_gruen.setBackground(Color.green);
        panel_rot.setBackground(Color.red);
        add(js);
        js.setLeftComponent(panel_rot);
        js.setRightComponent(panel_gruen);
        js.setDividerLocation(0.5);
        js.setDividerSize(2);
        setVisible(true);
    }
    
    public static void main(String[] args) 
    {
        ContainerJSplit cjs = new ContainerJSplit();
        cjs.ContainerJSplit();
    }
}

Möglichke Fehlerquellen

Wenn Sie ein JSplitPane erstellen, achten Sie darauf, dass Sie vor Festlegung der rechten und linken Komponente das JSplitPane dem TopLevelContainer zuweisen. Sollte die Zuweisung der Komponenten vorher stattfinden, so wird das JScrollPane nicht angezeigt.
nach oben Java4Beginners -- Seitenversion 1.01 -- Stand: 2017-06-10