java Swing组件之JSplitPane使用

来源:互联网 发布:java main函数 sleep 编辑:程序博客网 时间:2024/05/16 05:45

使用 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.结果


0 0
原创粉丝点击