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

分割面板

分割面板由 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);

	}
}

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

猜你喜欢

转载自blog.csdn.net/javanofa/article/details/106018905
今日推荐