java panel分隔线_swing分割窗口控件JSplitPane使用方法详解

本文介绍了Java Swing中用于分割窗口的JSplitPane控件,讲解了其用法,包括垂直和水平分割、设置分割条大小、位置以及连续布局功能。此外,还提供了构造方法和实例代码,帮助理解如何在窗口中添加和操作JSplitPane。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为大家分享了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);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值