JSplitPane的使用方法

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);

    } 
    

}


 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值