Java学习:JSplitPane控件

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

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

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:要显示的控件

以上参数能够在构造时设置,也可在建立实例后再设置。
spa

setContinuousLayout(boolean newContinuousLayout)

setOrientation(int orientation)

add(Component comp, int index)

具体事例
code

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();
    }
}
相关文章
相关标签/搜索