JSplitPane的使用方法

本文介绍了Swing中的JSplitPane控件,它用于将窗口分割成两部分,支持水平或垂直分割。文章详细解释了如何使用JSplitPane及其常用方法,如设置分割条位置和大小等。

转载自:http://blog.youkuaiyun.com/chengchao1234/article/details/8135247

1、swing分割窗口控件JSplitPane,用来将窗口分割成两个部分。 
2、分割后的窗口每个窗口只能放一个控件,想要方多个控件的话,可以在上面方一个JPane面板,这样就可以方多个控件。swing分割窗口控件JSplitPane,用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT

3、使用方法:
       ①、setDividerSize(int size)设置分割条的大小。
       ②、getDividerSize()得到分割条的大小。
       ③、setDividerLocation(int size)按照百分比设置分割条的位置。
       ④、getOrientation获得方向。
4、构造方法

JSplitPane():建立一个新的JSplitPane,里面含有两个默认按钮,并以水平方向排列,且没有Continuous Layout功能。

JSplitPane(int newOrientation):建立一个指定水平或垂直方向切割JSplitPane,但没有Continuous Layout功能。

JSplitPnae(int newOrientation,boolean newContinuousLayout):建立一个指定水平或垂直方向切割的JSplitPane,且指定是否具有Continuous Layout功能。

JSplitPane(int newOrientation,boolean newContinuousLayout,Component
newLeftComponent,Component newRightComponent):建立一个指定水平或垂直方向切割的JSplitPane,且指定显示区所要显示的组件,并设置是否Continuous Layout功能。

JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):
建立一个指定水平或垂直方向切割的JSplitPane,且指定显示区所要显示的组件,但没有Continuous Layout功能 。

上面所说的Continuous Layout意思是指当你拖曳切割面版的分隔线时,窗口内的组件是否会随着分隔线的拖曳而动态改变大小。newContinuousLayout是一个boolean值,若设为true,则组件大小会随着分隔线的拖曳而一起改动;若设为false,则组件大小在分隔线停止改动时才确定。你也可以使用JSplitPane中的setContinuousLayout()方法来设置此项目。

5、实例

package swing;  

import java.awt.event.ComponentAdapter;  
import java.awt.event.ComponentEvent;  

import javax.swing.JFrame;   
import javax.swing.JSplitPane;   
import javax.swing.JPanel;   
public class MainFrame extends JFrame {   
    /** 
     *  
     */  
    JSplitPane jSplitPane1 = new JSplitPane();   
    JPanel jPanel1 = new JPanel();   
    JPanel jPanel2 = new JPanel();   
    private static final long serialVersionUID = 1L;  
    public static void main(String[] args){   
       new MainFrame();   
     }   

    public void myinit(){  
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定窗体关闭后自动退出进程   
        this.setSize(800,600);//设定窗体的默认尺寸   
        this.setExtendedState(JFrame.MAXIMIZED_BOTH);//设定窗体状态为屏幕最大化,即全屏尺寸。   
        this.setVisible(true);//显示窗体   
        this.jSplitPane1.setDividerLocation(0.7);//设定分割面板的左右比例(这时候就生效了,如果放在setVisible(true)这据之前就不会有效果。)  
        this.addComponentListener(new ComponentAdapter() {  

            public void componentResized(ComponentEvent e) {  

                jSplitPane1.setDividerLocation(0.7);  
            }  
        });  
    }     

    public MainFrame() {   
        try {   

            jbInit();   
            myinit();  
        } catch (Exception ex) {   
            ex.printStackTrace();   
        }   
    }   
    private void jbInit() throws Exception {   
        this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);   
        jSplitPane1.add(jPanel1, JSplitPane.LEFT);   
        jSplitPane1.add(jPanel2, JSplitPane.RIGHT);   
        jSplitPane1.setEnabled(false);  
        jSplitPane1.setOneTouchExpandable(true);  

    }   


}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值