Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.HeadlessException;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.border.EmptyBorder;
- import org.jdesktop.swingx.JXMultiSplitPane;
- import org.jdesktop.swingx.MultiSplitLayout;
- /**
- * Test Multisplit.
- *
- * @author Martin Miller
- * @version 0.1 2012-04-05
- * @see http://www.java.net/comment/reply/884868
- */
- public class TestMultiplitSplit extends JFrame {
- private JXMultiSplitPane msp;
- private MultiSplitLayout.Split splitModel;
- public TestMultiplitSplit() throws HeadlessException {
- super("test");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // MultiSplit Layout
- msp = new JXMultiSplitPane();
- splitModel = new LeftRightSplitPaneModel();
- msp.getMultiSplitLayout().setModel(splitModel);
- MultiSplitLayout layout = msp.getMultiSplitLayout();
- msp.setBorder(new EmptyBorder(2, 2, 2, 2));
- setLayout(new BorderLayout());
- msp.add(new JButton("LEFT"), LeftRightSplitPaneModel.LEFT);
- msp.add(new JButton("RIGHT"), LeftRightSplitPaneModel.RIGHT);
- layout.layoutByWeight(msp); // <-- Might be important for good results
- add(msp, BorderLayout.CENTER);
- setSize(new Dimension(800,600));
- setLocationRelativeTo(null);
- }
- /**
- * MultiSplitPane Layout.
- *
- * +--------+---------+
- * | | |
- * | l | r |
- * | | |
- * +--------+---------+
- */
- class LeftRightSplitPaneModel extends MultiSplitLayout.Split {
- public static final String LEFT = "l";
- public static final String RIGHT = "r";
- protected MultiSplitLayout.Leaf left = new MultiSplitLayout.Leaf(LEFT);
- protected MultiSplitLayout.Leaf right = new MultiSplitLayout.Leaf(RIGHT);
- public LeftRightSplitPaneModel() {
- super();
- setRowLayout(true);
- left.setWeight(0.3);
- right.setWeight(0.7);
- this.setWeight(1.0);
- setChildren(left, new MultiSplitLayout.Divider(), right);
- }
- }
- public static void main(String[] args) {
- JFrame f = new TestMultiplitSplit();
- f.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement