package javacodebook.gui.splitpane; import javax.swing.*; import java.awt.event.*; import java.awt.*; /** * Zwei in einander verschachtelte JSplitPanes werden dargestellt. Sie * beinhalten jeweils ein Label, welches die Position angibt. */ public class SplittedJFrame extends JFrame { // Zwei teilbare Container werden in diesem Beispiel verwendet private JSplitPane horizontal = null; private JSplitPane vertical = null; // In die teilbaren Container werden Labels eingebettet um die Position // deutlich zu machen private JLabel top = new JLabel("Oben",JLabel.CENTER); private JPanel bottom = new JPanel(); private JLabel left = new JLabel("Links",JLabel.CENTER); private JLabel right = new JLabel("Rechts",JLabel.CENTER); private Container content = null; /** * Konstruktor von SplittedJFrame. */ public SplittedJFrame(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); content = this.getContentPane(); // Bei der Instanziierung der SplitPane wird die Ausrichtung und der // Inhalt der beiden Felder übergeben horizontal = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left,right); vertical = new JSplitPane(JSplitPane.VERTICAL_SPLIT, top, bottom); // da bottom ein Container ist, kann er jede beliebige Komponente // aufnehmen, also auch wieder eine JSplitPane. bottom.setLayout(new BorderLayout()); bottom.add(horizontal); content.add(vertical); } }