|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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
。
setDividerLocation(double)
,
resetToPreferredSizes()
嵌套类摘要 | |
---|---|
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 已改变的通知。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final int VERTICAL_SPLIT
Component
沿 y 轴分割。例如,两个 Component
将被分割成一个在另一个顶上。
public static final int HORIZONTAL_SPLIT
Component
沿 x 轴分割。例如,两个 Component
将被分割成一个在另一个左边。
public static final String LEFT
Component
到另一个 Component
的左边。
public static final String RIGHT
Component
到另一个 Component
的右边。
public static final String TOP
Component
到另一个 Component
的上面。
public static final String BOTTOM
Component
到另一个 Component
的下面。
public static final String DIVIDER
Component
。
public static final String ORIENTATION_PROPERTY
public static final String CONTINUOUS_LAYOUT_PROPERTY
public static final String DIVIDER_SIZE_PROPERTY
public static final String ONE_TOUCH_EXPANDABLE_PROPERTY
public static final String LAST_DIVIDER_LOCATION_PROPERTY
public static final String DIVIDER_LOCATION_PROPERTY
public static final String RESIZE_WEIGHT_PROPERTY
protected int orientation
protected boolean continuousLayout
protected Component leftComponent
protected Component rightComponent
protected int dividerSize
protected boolean oneTouchExpandable
protected int lastDividerLocation
构造方法详细信息 |
---|
public JSplitPane()
JSplitPane
。
public JSplitPane(int newOrientation)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一。public JSplitPane(int newOrientation, boolean newContinuousLayout)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newContinuousLayout
- 一个 boolean 值,当分隔条改变位置时组件连续重绘则为 true;当分隔条位置停止改变时才重绘则为 false
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一public JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newLeftComponent
- 将出现在水平分隔窗格的左边或者垂直分隔窗格的顶部的 Component
newRightComponent
- 将出现在水平分隔窗格的右边或者垂直分隔窗格的底部的 Component
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一public JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent)
JSplitPane
。
newOrientation
- JSplitPane.HORIZONTAL_SPLIT
或 JSplitPane.VERTICAL_SPLIT
newContinuousLayout
- 一个 boolean 值,当分隔条改变位置时组件连续重绘则为 true;当分隔条位置停止改变时才重绘则为 falsenewLeftComponent
- 将出现在水平分隔窗格的左边或者垂直分隔窗格的顶部的 Component
newRightComponent
- 将出现在水平分隔窗格的右边或者垂直分隔窗格的底部的 Component
IllegalArgumentException
- 如果 orientation
不是 HORIZONTAL_SPLIT 或 VERTICAL_SPLIT 之一方法详细信息 |
---|
public void setUI(SplitPaneUI ui)
ui
- SplitPaneUI
的 L&F 对象UIDefaults.getUI(javax.swing.JComponent)
public SplitPaneUI getUI()
SplitPaneUI
。
SplitPaneUI
对象public void updateUI()
UIManager
发出的关于 L&F 已改变的通知。用来自 UIManager
的最新版本 UI 对象替换当前的 UI 对象。
JComponent
中的 updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setDividerSize(int newSize)
newSize
- 给定分隔条大小的一个整数,以像素为单位public int getDividerSize()
public void setLeftComponent(Component comp)
comp
- 在该位置中显示的 Component
public Component getLeftComponent()
Component
public void setTopComponent(Component comp)
comp
- 在该位置中显示的 Component
public Component getTopComponent()
Component
public void setRightComponent(Component comp)
comp
- 在该位置中显示的 Component
public Component getRightComponent()
Component
public void setBottomComponent(Component comp)
comp
- 在该位置中显示的 Component
public Component getBottomComponent()
Component
public void setOneTouchExpandable(boolean newValue)
oneTouchExpandable
属性的值,要使 JSplitPane
在分隔条上提供一个 UI 小部件来快速展开/折叠分隔条,此属性必须为 true
。此属性的默认值为 false
。有些外观可能不支持一键展开;它们将忽略此属性。
newValue
- 指定为 true
,则分隔窗格应该提供一个折叠/展开的小部件isOneTouchExpandable()
public boolean isOneTouchExpandable()
oneTouchExpandable
属性。
oneTouchExpandable
的值setOneTouchExpandable(boolean)
public void setLastDividerLocation(int newLastLocation)
newLastLocation
。
newLastLocation
- 指定分隔条最后位置从窗格的左边(或者上边)到分隔条的左边(或者上边)的一个整数,以像素为单位public int getLastDividerLocation()
public void setOrientation(int orientation)
orientation
- 指定方向的一个整数
IllegalArgumentException
- 如果方向不是如下之一:HORIZONTAL_SPLIT 或 VERTICAL_SPLIT。public int getOrientation()
setOrientation(int)
public void setContinuousLayout(boolean newContinuousLayout)
continuousLayout
属性的值,在用户干预期要使子组件连续地重新显示和布局子组件,此值必须为 true
。此属性的默认值为 false
。一些外观可能不支持连续布局;它们将忽略此属性。
newContinuousLayout
- 如果分隔条改变位置时组件连续重绘,则为 true
isContinuousLayout()
public boolean isContinuousLayout()
continuousLayout
属性。
continuousLayout
属性的值setContinuousLayout(boolean)
public void setResizeWeight(double value)
value
- 如上所述
IllegalArgumentException
- 如果 value
小于 0 或者大于 1public double getResizeWeight()
public void resetToPreferredSizes()
JSplitPane
的布局。这将可能导致分隔条位置的改变。
public void setDividerLocation(double proportionalLocation)
JSplitPane
大小的一个百分比。
根据 setDividerLocation(int)
来实现此方法。此方法以分隔窗格的当前大小为基础迅速改变窗格的大小。如果分隔窗格没有正确地实现并且不显示在屏幕上,此方法将不产生任何影响(新的分隔条位置将成为 0(当前的 size * proportionalLocation ))。
proportionalLocation
- 指示百分比的双精度浮点值,从 0 (top/left) 到 1.0 (bottom/right)
IllegalArgumentException
- 如果指定的位置为 < 0 or > 1.0public void setDividerLocation(int location)
setLastDividerLocation
更新。
location
- 指定特定于 UI 值的一个整数(通常以像素为单位)public int getDividerLocation()
setDividerLocation
的值。此方法返回的值可能与实际的分隔条位置不同(如果传递给 setDividerLocation
的值大于当前大小)。
public int getMinimumDividerLocation()
null
,则返回 -1public int getMaximumDividerLocation()
null
,则返回 -1public void remove(Component component)
component
。如果必要,可重设 leftComponent
或 rightComponent
实例变量。
Container
中的 remove
component
- 要移除的 Component
Container.add(java.awt.Component)
,
Container.validate()
,
Container.remove(int)
public void remove(int index)
Component
。如果必要,可更新 leftComponent
和 rightComponent
实例变量,然后通知超类。
Container
中的 remove
index
- 指定要移除的组件的一个整数,为 1 时指定左边/顶部的组件,为 2 指定底部/右边的组件Container.add(java.awt.Component)
,
Container.validate()
,
Container.getComponentCount()
public void removeAll()
leftComponent
和 rightComponent
实例变量。
Container
中的 removeAll
Container.add(java.awt.Component)
,
Container.remove(int)
public boolean isValidateRoot()
JSplitPane
的任何后代上调用 revalidate
,将导致在队列中加入一个验证 JSplitPane
及其所有后代的一个请求。
JComponent
中的 isValidateRoot
JComponent.revalidate()
protected void addImpl(Component comp, Object constraints, int index)
constraints
标识左边/顶部或者右边/底部的子组件,并且之前已添加了一个具有该标识符的组件,则该组件将被移除,然后 comp
将被添加到该位置。如果 constraints
不是已知的标识符之一,则布局管理器可能抛出一个 IllegalArgumentException
。
可能的约束对象(字符串)是:
constraints
对象为 null
,则组件将被添加到第一个可用位置(如果展开,则为左边/顶部;否则为右边/底部)。
Container
中的 addImpl
comp
- 要添加的组件constraints
- 指定此组件布局约束(位置)的一个 Object
index
- 指定容器列表中索引的一个整数。
IllegalArgumentException
- 如果 constraints
对象不匹配现有的组件Container.addImpl(Component, Object, int)
protected void paintChildren(Graphics g)
finishedPaintingChildren
通知子类,同时绘制边框。
JComponent
中的 paintChildren
g
- 在其中进行绘制的 Graphics
上下文JComponent.paint(java.awt.Graphics)
,
Container.paint(java.awt.Graphics)
protected String paramString()
JSplitPane
的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null
。
JComponent
中的 paramString
JSplitPane
的字符串表示形式。public AccessibleContext getAccessibleContext()
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。