java Swing组件之JSplitPane使用

Java Swing 同时被 2 个专栏收录
9 篇文章 1 订阅
10 篇文章 0 订阅

使用 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 stub
		JSplitPaneDemo instance = new JSplitPaneDemo();
		instance.setVisible(true);
	}

}
4.结果


  • 3
    点赞
  • 0
    评论
  • 14
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

sweetgirl520

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值