java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JSplitPane
public class JSplitPane
JSplitPane
用于分隔两个(只能两个)Component
。两个 Component
图形化分隔以外观实现为基础,并且这两个 Component
可以由用户交互式调整大小。有关如何使用 JSplitPane
的信息,请参阅 The Java Tutorial 中的 How to Use Split Panes 一节。
使用 JSplitPane.HORIZONTAL_SPLIT
可让分隔窗格中的两个 Component
从左到右排列,或者使用 JSplitPane.VERTICAL_SPLIT
使其从上到下排列。改变 Component
大小的首选方式是调用 setDividerLocation
,其中 location
是新的 x 或 y 位置,具体取决于 JSplitPane
的方向。
要将 Component
调整到其首选大小,可调用 resetToPreferredSizes
。
当用户调整 Component
的大小时,Component
的最小大小用于确定 Component
能够设置的最大/最小位置。如果两个组件的最小大小大于分隔窗格的大小,则分隔条将不允许您调整其大小。改变 JComponent
最小大小,请参阅 JComponent.setMinimumSize(java.awt.Dimension)
。
当用户调整分隔窗格大小时,新的空间以 resizeWeight
为基础在两个组件之间分配。默认情况下,值为 0 表示右边/底部的组件获得所有空间,而值为 1 表示左边/顶部的组件获得所有空间。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
嵌套类摘要 | |
---|---|
protected class |
JSplitPane.AccessibleJSplitPane 此类实现 JSplitPane 类的可访问性支持。 |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
static String |
BOTTOM 用于添加一个 Component 到另一个 Component 的下面。 |
static String |
CONTINUOUS_LAYOUT_PROPERTY 绑定 continuousLayout 属性名称。 |
protected boolean |
continuousLayout 当调整大小时视图是否连续重新显示。 |
static String |
DIVIDER 用于添加一个表示分隔条的 Component 。 |
static String |
DIVIDER_LOCATION_PROPERTY 绑定 dividerLocation 属性。 |
static String |
DIVIDER_SIZE_PROPERTY 绑定 border 属性名称。 |
protected int |
dividerSize 分隔条大小。 |
static int |
HORIZONTAL_SPLIT 水平分割表示 Component 沿 x 轴分割。 |
static String |
LAST_DIVIDER_LOCATION_PROPERTY 绑定 lastLocation 属性。 |
protected int |
lastDividerLocation 分隔窗格的上一个位置。 |
static String |
LEFT 用于添加一个 Component 到另一个 Component 的左边。 |
protected Component |
leftComponent 左边或者顶部的组件。 |
static String |
ONE_TOUCH_EXPANDABLE_PROPERTY 绑定 oneTouchExpandable 属性。 |
protected boolean |
oneTouchExpandable 是否要提供一个小部件来快速展开/折叠分隔窗格。 |
protected int |
orientation 如何分割视图。 |
static String |
ORIENTATION_PROPERTY 绑定 orientation(水平或者垂直)属性名称。 |
static String |
RESIZE_WEIGHT_PROPERTY 绑定 weight 属性。 |
static String |
RIGHT 用于添加一个 Component 到另一个 Component 的右边。 |
protected Component |
rightComponent 右边或者底部的组件。 |
static String |
TOP 用于添加一个 Component 到另一个 Component 的上面。 |
static int |
VERTICAL_SPLIT 垂直分割表示 Component 沿 y 轴分割。 |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
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。 |
Component |
getBottomComponent() 返回分隔条下面或者右边的组件。 |
int |
getDividerLocation() 返回最后传递给 setDividerLocation 的值。 |
int |
getDividerSize() 返回分隔条的大小。 |
int |
getLastDividerLocation() 返回分隔条所处的最后位置。 |
Component |
getLeftComponent() 返回分隔条左边(或者上面)的组件。 |
int |
getMaximumDividerLocation() 返回外观实现中分隔条的最大位置。 |
int |
getMinimumDividerLocation() 返回外观实现中分隔条的最小位置。 |
int |
getOrientation() 返回方向。 |
double |
getResizeWeight() 返回确定额外空间如何分配的数。 |
Component |
getRightComponent() 返回分隔条右边(或者下面)的组件。 |
Component |
getTopComponent() 返回分隔条上面或者左边的组件。 |
SplitPaneUI |
getUI() 返回提供当前外观的 SplitPaneUI 。 |
String |
getUIClassID() 返回呈现此组件的 L&F 类名。 |
boolean |
isContinuousLayout() 获取 continuousLayout 属性。 |
boolean |
isOneTouchExpandable() 获取 oneTouchExpandable 属性。 |
boolean |
isValidateRoot() 如果返回 true,则在此 JSplitPane 的任何后代上调用 revalidate ,将导致在队列中加入一个验证 JSplitPane 及其所有后代的一个请求。 |
protected void |
paintChildren(Graphics g) 通知超类后,UI 通过 finishedPaintingChildren 通知子类,同时绘制边框。 |
protected String |
paramString() 返回此 JSplitPane 的字符串表示形式。 |
void |
remove(Component component) 移除窗格中的子组件 component 。 |
void |
remove(int index) 移除指定索引处的 Component 。 |
void |
removeAll() 从分隔窗格中移除所有子组件。 |
void |
resetToPreferredSizes() 以子组件的首选大小为基础调整 JSplitPane 的布局。 |
void |
setBottomComponent(Component comp) 将组件设置到分隔条的下面或者右边。 |
void |
setContinuousLayout(boolean newContinuousLayout) 设置 continuousLayout 属性的值,在用户干预期要使子组件连续地重新显示和布局子组件,此值必须为 true 。 |
void |
setDividerLocation(double proportionalLocation) 设置分隔条的位置为 JSplitPane 大小的一个百分比。 |
void |
setDividerLocation(int location) 设置分隔条的位置。 |
void |
setDividerSize(int newSize) 设置分隔条的大小。 |
void |
setLastDividerLocation(int newLastLocation) 将分隔条所处的最后位置设置为 newLastLocation 。 |
void |
setLeftComponent(Component comp) 将组件设置到分隔条的左边(或上面)。 |
void |
setOneTouchExpandable(boolean newValue) 设置 oneTouchExpandable 属性的值,要使 JSplitPane 在分隔条上提供一个 UI 小部件来快速展开/折叠分隔条,此属性必须为 true 。 |
void |
setOrientation(int orientation) 设置方向,或者分隔窗格的方式。 |
void |
setResizeWeight(double value) 指定当分隔窗格的大小改变时如何分配额外空间。 |
void |
setRightComponent(Component comp) 将组件设置到分隔条的右边(或者下面)。 |
void |
setTopComponent(Component comp) 将组件设置到分隔条的上面或者左边。 |
void |
setUI(SplitPaneUI ui) 设置呈现此组件的 L&F 对象。 |
void |
updateUI() UIManager 发出的关于 L&F 已改变的通知。 |