java Swing组件之JSplitPane使用

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

时间: 2024-09-27 01:37:24

java Swing组件之JSplitPane使用的相关文章

JAVA Swing 组件演示***

下面是Swing组件的演示: package a_swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.Ac

java Swing组件和事件处理(二)

1.BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing  border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一个盒式布局,不   允许盒式容器的布局.在策划程序布局的时候,可以利用容器的嵌套,将某个容器嵌入几个盒式容器,达到布局的目的. 使用盒式布局的容器组件将排列一行或一列,这取决于创建盒式布局对象时,是否确定行的排列和列的排列, package com.Example2; import javax.sw

java Swing组件随着窗口拖动等比移动或等比放大

实现原理很简单, 1清空布局(使用绝对布局) 2添加监听器(监听窗口是否被拖动) 3在监听器里面动态调整 组件的位置 效果如下: 拖动之后效果: 代码实现: import java.awt.EventQueue; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JFrame; import javax.swing.JLabel; import java

Java Swing组件JScrollPane

当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到.滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板.JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件.JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中.这样,从界面上看,在滚动面板上,好像也有多个组件.在S

java Swing组件和事件处理

1.常见的容器 JComponent是 Container 的子类,中间容器必须添加到底层容器中才能够发挥作用, JPanel 面板 :使用jPanel 创建一个面板,再通过添加组件到该面板上面,JPanel默认的布局方式是FlowLayout JScrollPanel 滑动窗格:  滑动窗格只可以添加一个组件,可以将一个组件放到滑动窗格中,通过滚动条查看,JTextArea不带滚动条可以放到JScrollPanel中. JScorollPanel scroll=new JScorollPane

Java Swing界面编程(3)---标签组件(JLabel)

package com.beyole.util; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Point; import javax.swing.JFrame; import javax.swing.JLabel; public class test2 { public static void main(String[] args) { JFrame frame =

Java Swing界面编程(17)---单行文本输入组件:JTextField

package com.beyole.util; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class test15 { public static void main(String[] args) { JFrame frame = new JFrame("Crystal");// 实例化窗

Java Swing界面编程(18)---单行文本输入组件:JTextField

以下的程序与上一例有一点区别,仔细对比不难发现其中的不同之处. package com.beyole.util; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class test17 { public static void main(String[] args) { JFrame frame = new JFrame("Crystal"); JT

Java Swing界面编程(19)---密码输入组件:JPasswordField

JTextField是使用明文方式进行数据显示的,如果现在需要将回显的内容设置成其他字符,则可以使用JPasswordField类. package com.beyole.util; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; public class test18 { public static void main(String[] args) { JFrame