Java学习:JSplitPane控件

JSplitPane控件是Swing中的分块显示控件,它最多能显示,也只能显示2个控件。用户可以调整和操控这两个控件。

JSplitPane中的控件可以通JSplitPane.HORIZONTAL_SPLIT属性设置从左到右;或JSplitPane.VERTICAL_SPLIT属性设置从上到下布置。

JSplitPane()
JSplitPane(int newOrientation)
JSplitPane(int newOrientation, boolean newContinuousLayout)
JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)
JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent)

以上5个构造函数的中参数:

int newOrientation:设置水平显示还是垂直显示
JSplitPane.VERTICAL_SPLIT JSplitPane.HORIZONTAL_SPLIT

boolean newContinuousLayout:设置在调整隔行大小时重绘还是调整隔行大小完毕时重绘
true 调整时重绘 false 调整完毕后重绘

 newLeftComponent newRightComponent:要显示的控件

以上参数可以在构造时设置,也可在创建实例后再设置。

setContinuousLayout(boolean newContinuousLayout)

setOrientation(int orientation)

add(Component comp, int index)

具体事例

public class JSplitPane1 {

    public JSplitPane1() {
        JFrame f = new JFrame("JSplitPaneDemo");
        Container contentPane = f.getContentPane();
        JLabel label1 = new JLabel("Label 1",JLabel.CENTER);
        label1.setBackground(Color.green);
        label1.setOpaque(true);
        JLabel label2 = new JLabel("Label 2",JLabel.CENTER);
        label2.setBackground(Color.pink);
        label2.setOpaque(true);
        JLabel label3 = new JLabel("Label 3",JLabel.CENTER);
        label3.setBackground(Color.yellow);
        label3.setOpaque(true);

        //添加上滑动控件,并将2个label放置控件中
        JSplitPane splitPane1 =
                new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
                        false,
                        label1,
                        label2);
        splitPane1.setDividerLocation(0.3);
        splitPane1.setOneTouchExpandable(true);
        splitPane1.setDividerSize(10);

        //添加主滑动控件,上面是滑动控件,下面是label
        /*JSplitPane splitPane2 =
                new JSplitPane(JSplitPane.VERTICAL_SPLIT,
                               true,
                               splitPane1,
                               label3);*/
        JSplitPane splitPane2 = new JSplitPane();
        splitPane2.setContinuousLayout(true);
        splitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT);
        splitPane2.add(splitPane1, JSplitPane.BOTTOM);
        splitPane2.add(label3, JSplitPane.TOP);
        splitPane2.setDividerLocation(35);
        splitPane2.setOneTouchExpandable(false);
        splitPane2.setDividerSize(5);

        contentPane.add(splitPane2);

        f.setSize(250,200);
        f.setVisible(true);
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    public static void main(String[] arg) {
        new JSplitPane1();
    }
}


你可能感兴趣的:(Java学习:JSplitPane控件)