`
liaoguizhu
  • 浏览: 6961 次
文章分类
社区版块
存档分类
最新评论

JSplitPane用法详解

阅读更多
JSplitPane只能加两个组件在其当中,如果想要三个组件或者更多组件随意拉动的话,那么就要用多个JSplitPane嵌套,我这里是两个JSplitPane的嵌套。
下面为代码:
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.JSplitPane;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Font;

public class JSplitPaneTest extends JFrame {

	private JPanel contentPane;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					JSplitPaneTest frame = new JSplitPaneTest();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public JSplitPaneTest() {
		//将样式设为windows样式
		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(550, 450);
		setLocationRelativeTo(null);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		JPanel j1 = new JPanel();
		j1.setBackground(Color.PINK);
		JPanel j2 = new JPanel();
		j2.setBackground(Color.CYAN);
		JPanel j3 = new JPanel();
		j3.setBackground(Color.ORANGE);
		// JSplitPane.HORIZONTAL_SPLIT 为水平分割
		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,j1,j2);
		j1.setLayout(new BorderLayout(0, 0));
		
		JLabel lblJ_2 = new JLabel("J1");
		lblJ_2.setFont(new Font("Arial Black", Font.PLAIN, 14));
		lblJ_2.setHorizontalAlignment(SwingConstants.CENTER);
		j1.add(lblJ_2, BorderLayout.CENTER);
		j2.setLayout(new BorderLayout(0, 0));
		
		JLabel lblJ_1 = new JLabel("J2");
		lblJ_1.setFont(new Font("Arial Black", Font.PLAIN, 14));
		lblJ_1.setHorizontalAlignment(SwingConstants.CENTER);
		j2.add(lblJ_1, BorderLayout.CENTER);
		splitPane.setOneTouchExpandable(true);
		//设置分隔条的位置为 JSplitPane 大小的一个百分比。
		splitPane.setDividerLocation(80);
		
		// JSplitPane.VERTICAL_SPLIT 为垂直分割
		JSplitPane splitPane2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,false,j3,splitPane);
		j3.setLayout(new BorderLayout(0, 0));
		
		JLabel lblJ = new JLabel("J3");
		lblJ.setFont(new Font("Arial Black", Font.PLAIN, 14));
		lblJ.setHorizontalAlignment(SwingConstants.CENTER);
		j3.add(lblJ, BorderLayout.CENTER);
		splitPane2.setDividerLocation(50);
		
		contentPane.add(splitPane2, BorderLayout.CENTER);
	}

}



还有很多属性这里不可能每个都讲一遍,建议翻阅帮助文档。
分享到:
评论

相关推荐

    Swing拆分窗格控件JSplitPane使用详解

    JSplitPane的基本使用包括以下几个关键知识点: 1. 导入必要的包 首先,我们需要导入Swing和AWT相关的类,以确保可以使用JSplitPane和其他GUI组件。 ```java import javax.swing.*; import java.awt.*; ``` 2. ...

    JSplitPane的用法

    ### JSplitPane的用法详解 #### 一、引言 `JSplitPane`是Java Swing框架中的一个组件,主要用于创建可调整大小的面板分割器。它可以将界面分为两个部分,并允许用户通过拖动分割条来调整每个部分的大小。这对于...

    swing分割窗口控件JSplitPane使用方法详解

    如果需要指定分割条两侧的组件,同时也可以指定是否支持ContinuousLayout,那么可以使用JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)...

    Java Swing图形界面开发与案例详解

    16. Swing小部件:JTabbedPane、JSplitPane等高级组件的使用。 17. AWT与Swing的区别:比较两者之间的异同及选用建议。 18. 性能优化:提高Swing应用性能的策略和技巧。 19. Swing应用打包与部署:如何将Swing应用...

    JavaSwing 图形界面开发与案例详解源文件

    在"JavaSwing 图形界面开发与案例详解"这本书中,作者深入浅出地介绍了如何使用Swing进行GUI编程。源代码文件列表通常会包含一系列示例程序,涵盖了Swing的各种组件和功能,例如: 1. **组件使用**:Swing 包含了...

    JavaSwing.PPT (Swing 详解)

    - 主要组件包括JPanel、JScrollPane、JToolBar、JSplitPane、JTabbedPane等,它们各自承担特定的布局和功能,例如JPanel作为基本容器,JScrollPane提供滚动功能,JToolBar用于创建工具栏,JSplitPane分割视图,...

    swing界面设计之Layou

    ### Swing界面设计之布局管理详解 #### 一、获取面板大小 在Swing中,获取一个面板(如`JPanel`)的大小非常简单。可以通过调用`getWidth()`和`getHeight()`方法来获取面板的宽度和高度。例如: ```java JPanel p1 ...

    java swing笔记

    ### Java Swing知识点详解 #### 一、JSplitPane:实现窗口动态分割 在Java Swing中,`JSplitPane`是一个非常强大的组件,用于创建可调整大小的容器来容纳两个子组件(例如面板或滚动窗格),并且允许用户通过拖动...

    Java_Swing窗体种类简介

    #### JSplitPane详解 `JSplitPane`用于创建分隔的面板,可以水平或垂直分割,支持动态调整两个子面板的比例。构造函数接受一个分割方向、是否连续调整大小以及两个子组件。 - 分割方向通过常量`HORIZONTAL_SPLIT`...

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

    Java开发技术大全 电子版

    14.7.3分隔板(JSplitPane)使用示例482 14.7.4选项板(JTabbedPane)使用示例485 14.7.5工具栏(JToolBar)使用示例486 14.8常用组件488 14.8.1标签(Jlabel)使用示例488 14.8.2按钮(JButton)使用示例491 ...

    jdk1.7解压版

    **Java Development Kit (JDK) 1.7 解压版详解** JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的核心工具集。JDK 1.7,也被称为Java 7,是在2011年发布的一个重要版本,引入了许多新...

    java窗体基础总结

    #### Swing类详解 Swing提供了比AWT更丰富的组件集合,更加灵活且易于定制。以下是Swing中常用的几类组件: - **javax.swing.Icon**: 这是一个接口,用于表示图标,可以被任何需要图标功能的组件使用。 - **javax....

    java实例_简单Java_IDE工具

    例如,使用JSplitPane分隔主编辑区和信息显示区,JDesktopPane作为多文档的容器,JScrollPane则包裹JTextArea以实现滚动查看。 在实际编码过程中,我们将逐步添加更多的功能,如文件操作、项目管理、编译和运行等。...

    个人通讯录管理 JAVA

    ### 个人通讯录管理系统开发详解 #### 一、项目背景及目标 本项目为一个基于Java的个人通讯录管理系统,旨在帮助用户有效地管理和维护个人联系人信息。通过本项目的开发,不仅可以加深对Java语言的理解,还能掌握...

    基于Java的实例开发源码-SwingSet.zip

    Java SwingSet 示例开发源码详解 Java Swing 是Java标准库中的一个组件,用于构建桌面应用程序的用户界面。SwingSet 是一套用Java Swing编写的示例程序,它展示了Swing的各种组件、布局管理器以及事件处理机制。这...

    jdk1.6帮助文档

    **JDK 1.6 帮助文档详解** JDK(Java Development Kit)是Java编程语言的标准开发工具集,而JDK 1.6版本是Oracle公司在2009年发布的重要版本,包含了编译器、调试器、Java运行环境以及一系列用于开发Java应用程序的...

    JDK_API_1_6_zh_CN

    《JDK API 1.6 中文版详解》 JDK API 1.6 是Java开发工具包的一个重要版本,它包含了丰富的类库和接口,为开发者提供了强大的编程支持。这个版本的API文档中文版是Java程序员的重要参考资料,帮助他们理解和使用...

Global site tag (gtag.js) - Google Analytics