Java JSplitPane

JSplitPane用于划分两个组件。这两个组件根据外观和实现方式进行划分, 用户可以调整它们的大小。如果两个组件的最小大小大于拆分窗格的大小, 则分隔符将不允许你调整其大小。
【Java JSplitPane】拆分窗格中的两个组件可以使用JSplitPane.HORIZONTAL_SPLIT从左到右对齐, 或者使用JSplitPane.VERTICAL_SPLIT从上到下对齐。当用户调整组件的大小时, 将使用组件的最小大小来确定可以设置组件的最大/最小位置。
嵌套类

修饰符和类型 描述
受保护的阶级 JSplitPane.AccessibleJSplitPane 此类实现对JsplitPane类的可访问性支持。
有用的领域
修饰符和类型 领域 描述
static String BOTTOM 它用于在另一个组件下方添加一个组件。
static String CONTINUOUS_LAYOUT_PROPERTY 连续布局的绑定属性名称。
静态字符串 DIVIDER 它用于添加一个将代表分隔线的Component。
静态整数 HORIZONTAL_SPLIT 水平分割表示组件沿x轴分割。
受保护的int lastDividerLocation 拆分窗格的先前位置。
受保护的组件 leftComponent 左侧或顶部组件。
静态整数 VERTICAL_SPLIT 垂直拆分表示组件沿y轴拆分。
受保护的组件 rightComponent 右侧或底部组件。
受保护的int orientation 视图如何拆分。
建设者
Constructor Description
JSplitPane() 它创建一个新的JsplitPane, 该JsplitPane配置为使用两个按钮将这些子组件水平并排排列。
JSplitPane(int newOrientation) 它创建一个配置了指定方向的新JsplitPane。
JSplitPane(int newOrientation, boolean newContinuousLayout) 它使用指定的方向和重绘样式创建一个新的JsplitPane。
JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent) 它使用指定的方向和重绘样式以及指定的组件创建一个新的JsplitPane。
JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent) 它使用指定的方向和指定的组件创建一个新的JsplitPane。
有用的方法
修饰符和类型 方法 描述
protected void addImpl(Component comp, Object constraints, int index) 它将指定的组件放入此拆分窗格。
AccessibleContext getAccessibleContext() 它获取与此JSplitPane关联的AccessibleContext。
int getDividerLocation() 它返回传递给setDividerLocation的最后一个值。
int getDividerSize() 它返回分隔符的大小。
Component getBottomComponent() 它返回下面或分隔符右侧的组件。
Component getRightComponent() 它将组件返回到分隔线的右侧(或下方)。
SplitPaneUI getUI() 它返回提供当前外观的SplitPaneUI。
boolean isContinuousLayout() 它获取ContinuousLayout属性。
boolean isOneTouchExpandable() 它获取oneTouchExpandable属性。
void setOrientation(int orientation) 它获取方向或分割器的分割方式。
JSplitPane示例
import java.awt.FlowLayout; import java.awt.Panel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JSplitPane; public class JSplitPaneExample { private static void createAndShow() { // Create and set up the window. final JFrame frame = new JFrame("JSplitPane Example"); // Display the window. frame.setSize(300, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // set flow layout for the frame frame.getContentPane().setLayout(new FlowLayout()); String[] option1 = { "A", "B", "C", "D", "E" }; JComboBox box1 = new JComboBox(option1); String[] option2 = {"1", "2", "3", "4", "5"}; JComboBox box2 = new JComboBox(option2); Panel panel1 = new Panel(); panel1.add(box1); Panel panel2 = new Panel(); panel2.add(box2); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2); // JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, // panel1, panel2); frame.getContentPane().add(splitPane); } public static void main(String[] args) { // Schedule a job for the event-dispatching thread: // creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShow(); } }); } }

输出:
Java JSplitPane

文章图片

    推荐阅读