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);
}
}
还有很多属性这里不可能每个都讲一遍,建议翻阅帮助文档。
分享到:
相关推荐
JSplitPane的基本使用包括以下几个关键知识点: 1. 导入必要的包 首先,我们需要导入Swing和AWT相关的类,以确保可以使用JSplitPane和其他GUI组件。 ```java import javax.swing.*; import java.awt.*; ``` 2. ...
### JSplitPane的用法详解 #### 一、引言 `JSplitPane`是Java Swing框架中的一个组件,主要用于创建可调整大小的面板分割器。它可以将界面分为两个部分,并允许用户通过拖动分割条来调整每个部分的大小。这对于...
如果需要指定分割条两侧的组件,同时也可以指定是否支持ContinuousLayout,那么可以使用JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)...
16. Swing小部件:JTabbedPane、JSplitPane等高级组件的使用。 17. AWT与Swing的区别:比较两者之间的异同及选用建议。 18. 性能优化:提高Swing应用性能的策略和技巧。 19. Swing应用打包与部署:如何将Swing应用...
在"JavaSwing 图形界面开发与案例详解"这本书中,作者深入浅出地介绍了如何使用Swing进行GUI编程。源代码文件列表通常会包含一系列示例程序,涵盖了Swing的各种组件和功能,例如: 1. **组件使用**:Swing 包含了...
- 主要组件包括JPanel、JScrollPane、JToolBar、JSplitPane、JTabbedPane等,它们各自承担特定的布局和功能,例如JPanel作为基本容器,JScrollPane提供滚动功能,JToolBar用于创建工具栏,JSplitPane分割视图,...
### Swing界面设计之布局管理详解 #### 一、获取面板大小 在Swing中,获取一个面板(如`JPanel`)的大小非常简单。可以通过调用`getWidth()`和`getHeight()`方法来获取面板的宽度和高度。例如: ```java JPanel p1 ...
### Java Swing知识点详解 #### 一、JSplitPane:实现窗口动态分割 在Java Swing中,`JSplitPane`是一个非常强大的组件,用于创建可调整大小的容器来容纳两个子组件(例如面板或滚动窗格),并且允许用户通过拖动...
#### JSplitPane详解 `JSplitPane`用于创建分隔的面板,可以水平或垂直分割,支持动态调整两个子面板的比例。构造函数接受一个分割方向、是否连续调整大小以及两个子组件。 - 分割方向通过常量`HORIZONTAL_SPLIT`...
学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...
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 ...
**Java Development Kit (JDK) 1.7 解压版详解** JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的核心工具集。JDK 1.7,也被称为Java 7,是在2011年发布的一个重要版本,引入了许多新...
#### Swing类详解 Swing提供了比AWT更丰富的组件集合,更加灵活且易于定制。以下是Swing中常用的几类组件: - **javax.swing.Icon**: 这是一个接口,用于表示图标,可以被任何需要图标功能的组件使用。 - **javax....
例如,使用JSplitPane分隔主编辑区和信息显示区,JDesktopPane作为多文档的容器,JScrollPane则包裹JTextArea以实现滚动查看。 在实际编码过程中,我们将逐步添加更多的功能,如文件操作、项目管理、编译和运行等。...
### 个人通讯录管理系统开发详解 #### 一、项目背景及目标 本项目为一个基于Java的个人通讯录管理系统,旨在帮助用户有效地管理和维护个人联系人信息。通过本项目的开发,不仅可以加深对Java语言的理解,还能掌握...
Java SwingSet 示例开发源码详解 Java Swing 是Java标准库中的一个组件,用于构建桌面应用程序的用户界面。SwingSet 是一套用Java Swing编写的示例程序,它展示了Swing的各种组件、布局管理器以及事件处理机制。这...
**JDK 1.6 帮助文档详解** JDK(Java Development Kit)是Java编程语言的标准开发工具集,而JDK 1.6版本是Oracle公司在2009年发布的重要版本,包含了编译器、调试器、Java运行环境以及一系列用于开发Java应用程序的...
《JDK API 1.6 中文版详解》 JDK API 1.6 是Java开发工具包的一个重要版本,它包含了丰富的类库和接口,为开发者提供了强大的编程支持。这个版本的API文档中文版是Java程序员的重要参考资料,帮助他们理解和使用...