ExpandableSplit.java Source code

Java tutorial

Introduction

Here is the source code for ExpandableSplit.java

Source

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JSplitPane;

public class ExpandableSplit {
    public static void main(String args[]) {
        String title = (args.length == 0 ? "Expandable Split" : args[0]);

        JFrame vFrame = new JFrame(title);
        vFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JComponent leftButton = new JButton("Top");
        JComponent rightButton = new JButton("Bottom");
        final JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
        splitPane.setOneTouchExpandable(true);
        splitPane.setLeftComponent(leftButton);
        splitPane.setRightComponent(rightButton);
        ActionListener oneActionListener = new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                splitPane.resetToPreferredSizes();
            }
        };
        ((JButton) rightButton).addActionListener(oneActionListener);
        ActionListener anotherActionListener = new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                splitPane.setDividerLocation(10);
                splitPane.setContinuousLayout(true);
            }
        };
        ((JButton) leftButton).addActionListener(anotherActionListener);
        vFrame.getContentPane().add(splitPane, BorderLayout.CENTER);
        vFrame.setSize(300, 150);
        vFrame.setVisible(true);

    }
}