您的位置:首页 > 编程语言 > Java开发

java Swing组件之JSplitPane使用

2016-05-08 17:00 761 查看
使用
JSplitPane.HORIZONTAL_SPLIT
可让分隔窗格中的两个
Component
从左到右排列,或者使用
JSplitPane.VERTICAL_SPLIT
使其从上到下排列。改变
Component
大小的首选方式是调用
setDividerLocation
,其中
location
是新的 x 或 y 位置,具体取决于
JSplitPane
的方向。

要将
Component
调整到其首选大小,可调用
resetToPreferredSizes


1.常见构造方法

JSplitPane()
:  创建一个配置为将其子组件水平排列、无连续布局、为组件使用两个按钮的新
JSplitPane


JSplitPane(int newOrientation)
  :创建一个配置为指定方向且无连续布局的新
JSplitPane


JSplitPane(int newOrientation, boolean newContinuousLayout)
:创建一个具有指定方向和重绘方式的新
JSplitPane


2.常用方法

setDividerLocation(double proportionalLocation)
:设置分隔条的位置为
JSplitPane
大小的一个百分比。

setDividerLocation(int location)
  :设置分隔条的位置。

setContinuousLayout(boolean newContinuousLayout)
:设置
continuousLayout
属性的值,在用户干预期要使子组件连续地重新显示和布局子组件,此值必须为
true


setDividerSize(int newSize)
:设置分隔条的大小。

getDividerLocation()
:返回最后传递给
setDividerLocation
的值。

getDividerSize()
:返回分隔条的大小。

setOneTouchExpandable(boolean newValue)
  :设置
oneTouchExpandable
属性的值,要使
JSplitPane
在分隔条上提供一个 UI 小部件来快速展开/折叠分隔条,此属性必须为
true


3.实例

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;

public class JSplitPaneDemo extends JFrame {

private static final long serialVersionUID = -3418853823231348095L;

public JSplitPaneDemo() {

setTitle("分割面板");
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JSplitPane hSplitPane = new JSplitPane();
hSplitPane.setDividerLocation(40);
getContentPane().add(hSplitPane, BorderLayout.CENTER);
hSplitPane.setLeftComponent(new JLabel(" 1"));
JSplitPane vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
vSplitPane.setLeftComponent(new JLabel(" 2"));
vSplitPane.setRightComponent(new JLabel(" 3"));
vSplitPane.setDividerLocation(30);
vSplitPane.setDividerSize(8);
vSplitPane.setOneTouchExpandable(true);
vSplitPane.setContinuousLayout(true);
hSplitPane.setRightComponent(vSplitPane);
}

public static void main(String[] args) {
// TODO Auto-generated method stubJSplitPaneDemo instance = new JSplitPaneDemo();
instance.setVisible(true);
}

}
4.结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: