Java Swing高级组件——分割面板

本文介绍了Java Swing中的JSplitPane组件,它用于创建水平或垂直分割的面板。通过JSplitPane的不同构造方法,可以定制分割方向和重绘策略。示例代码展示了如何创建一个分割面板,并讨论了其运行效果。

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

分割面板

分割面板由 JSplitPane 类实现,用来将其所在的区域分割成两部分,可根据情况决定是水平方向分割还是垂直方向分割,分割的两部分之间会有一个分隔条,通过调整分隔条的位置,可以自定义两部分的相对大小。

JSplitPane 类的常用构造方法。
1,JSplitPane():创建一个默认的分割面板。默认水平方向分割。
2,JSplitPane(int newOrientation):创建一个指定分割方向的分割面板,newOrientation 可选择的静态常量有HORIZONTAL_SPLIT(水平方向分割),VERTICAL_SPLIT(垂直方向分割)。
3,JSplitPane(int newOrientation, boolena newContinuousLayout):创建一个指定分割方向的分割面板,并且按照指定方式重绘分割面板。将 newContinuousLayout 设置成 true 表示在调整分隔条位置的过程中连续重绘,设置为 false 则表示只在调整分隔条位置完成时重绘。

JSplitPane 类中的常用构造方法。

方法说明
setOrientation(int orientation)设置分割面板的分割方向
setDividerLocation(int location)设置分隔条的绝对位置,即分隔条左侧的宽度或上方的高度
setDividerLocation(double proportionalLocation)设置分隔条的相对位置,即分隔条左侧或上方的大小与分割面板大小的百分比
setDividerSize(int newSize)设置分隔条的宽度,默认为5像素
setLeftComponent(Component comp)将组件添加到分隔条的左侧或上方
setTopComponent(Component comp)将组件添加到分隔条上方或左侧
setRightComponent(Component comp)将组件设置到分隔条的右侧或下方
setBottomComponent(Component comp)将组件设置到分隔条的下方或右侧
setOneTouchExpandable(boolean newValue)设置分割面板是否提供UI小部件,true为提供,false为不提供,默认不提供
setContinuousLayout(boolean newContinuousLayout)设置调整分隔条位置时的重绘方式,设为rue 表示在调整分隔条位置的过程中连续重绘,设为 false 则表示只在调整分隔条位置完成时重绘。

创建一个分割面板,代码如下:

package study.czm;

import java.awt.Container;

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

public class Study {

	public static void main(String[] args) {

		JFrame jf = new JFrame();
		jf.setTitle("表格组件");
		jf.setSize(500, 400);
		jf.setLocationRelativeTo(null);
		jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
		Container c = jf.getContentPane();

		JSplitPane hSplitPane = new JSplitPane();// 创建一个水平方向的分割面板
		hSplitPane.setLeftComponent(new JLabel("左边"));// 在面板左侧添加一个组件

		JSplitPane vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);// 创建一个垂直方向的分割面板
		vSplitPane.setOneTouchExpandable(true);// 提供UI小部件
		hSplitPane.setRightComponent(vSplitPane);// 将垂直的分割面板添加到水平分割面板的右侧
		vSplitPane.setTopComponent(new JLabel("上边"));// 在垂直面板上方添加组件
		vSplitPane.setBottomComponent(new JLabel("下边"));// 在垂直面板上方添加组件
		c.add(hSplitPane);

		jf.setVisible(true);

	}
}

运行效果截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值