高级java组件面板----JSPlitPane的讲解

目的是为了实现这样一种可拖动性可以自由分隔面板的功能


JSplitPane类中常用的方法进行讲解:

1.setDividerLocation(int location)//设置分隔隔条的绝对位置,即分隔条左侧(水平分割)的宽度或上方(垂直分隔)的高度

2.setDividerSize(int new size)//设置分隔条的宽度,默认为5像素

3.setLeftComponent(Component comp)//将组件设置到分隔条的左侧(水平分隔)或者上方(垂直分隔)

4.setLeftComponent(Component comp)//将组件设置到分隔条的右侧(水平分隔)或者下方(垂直分隔)

5.(重点)setOneTouchExpandable(boolean)设置UI小组件,true表示提供


首先我们先来写一个水平方向的分割面板:

原代码附上:

public class JSPlitPaneDemon extends JFrame {

//先使这个类继承JFrame做好一个Frame的窗口先;

    public static void main(String args[]){

JSPlitPaneDemon jsPlitPaneDemon=new JSPlitPaneDemon();

jsPlitPaneDemon.setVisible(true);

}

public JSPlitPaneDemon(){

super();

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置默认的关闭操作,参数”在关闭动作时退出,

    // 如果在代码里没加这个方法,那么在点击框架的”叉叉“退出框架后,程序仍然没有退出,只是JFrame被关闭了

    Container container=getContentPane();

JSplitPane jSplitPane=new JSplitPane();//创建一个(默认)水平方向的分隔面板;

    getContentPane().add(jSplitPane,BorderLayout.CENTER);//将该分隔面板添加到指定区域;

    jSplitPane.setLeftComponent(new Label("左边"));

}

}



这时候我们可以看到面板中实现了水平分割了,如图:

接下来我们再来实现垂直分隔:

public class JSPlitPaneDemonextends JFrame {

//先使这个类继承JFrame做好一个Frame的窗口先;

    public static void main(String args[]){

JSPlitPaneDemon jsPlitPaneDemon=new JSPlitPaneDemon();

jsPlitPaneDemon.setVisible(true);

}

public JSPlitPaneDemon(){

super();

setTitle("这是分隔面板");

setBounds(100,100,500,375);

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置默认的关闭操作,参数”在关闭动作时退出,

    // 如果在代码里没加这个方法,那么在点击框架的”叉叉“退出框架后,程序仍然没有退出,只是JFrame被关闭了

    Container container=getContentPane();

JSplitPane jSplitPane=new JSplitPane();//创建一个(默认)水平方向的分隔面板;

    getContentPane().add(jSplitPane,BorderLayout.CENTER);//将该分隔面板添加到指定区域;

    jSplitPane.setLeftComponent(new JLabel("左边"));

//    ---------------------------------------------------------------------------------------------------

//                                        以下是实现垂直分隔面板

    JSplitPane jSplitPane1=new JSplitPane(JSplitPane.VERTICAL_SPLIT);//创建一个垂直面板;

    jSplitPane1.setLeftComponent(new JLabel("上面"));

jSplitPane1.setRightComponent(new JLabel("下面"));

jSplitPane1.setDividerSize(20);//设置分隔条的像素为20

    jSplitPane.setRightComponent(jSplitPane1);

/////////重点来了,为分隔面板提供一个UI小部件,设置为true

    jSplitPane1.setOneTouchExpandable(true);

jSplitPane1.setDividerLocation(100);//设置分隔条上方的高度为30像素其实其为一开始给它上方初始化一个大小区域而已

//----------------------------------------------------------------------------------------------------------

}

}

最后效果图:

你可能感兴趣的:(高级java组件面板----JSPlitPane的讲解)