swing分割窗口控件JSplitPane使用方法详解

这篇文章主要为大家详细介绍了swing分割窗口控件JSplitPane的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...