public class JSplitPane extends JComponent implements Accessible
JSplitPane
用于划分两个(也只有两个) Component
s。
两个Component
都基于外观和手感实现图形划分,然后两个Component
可以由用户进行交互式调整大小。
有关使用JSplitPane
的信息, 请参见Java Tutorial中的How to Use Split Panes 。
分割窗格中的两个Component
可以使用JSplitPane.HORIZONTAL_SPLIT
,或从顶部到底部使用JSplitPane.VERTICAL_SPLIT
。 更改Component
s的大小的首选方法是调用setDividerLocation
,其中location
是新的x或y位置,具体取决于JSplitPane的JSplitPane
。
要将Component
调整为首选大小,请调用resetToPreferredSizes
。
当用户调整Component
s的最小尺寸时, Components
用于确定最大/最小位置,可设置为Component
。 如果两个组件的最小大小大于拆分窗格的大小,则分隔符将不允许您调整其大小。 要更改JComponent
的最小大小,请参阅JComponent.setMinimumSize(java.awt.Dimension)
。
当用户调整拆分窗格大小时,新空间将基于resizeWeight
属性分布在两个组件之间。 值为0,默认值,表示右/底组件获取所有空间,其中值为1表示左/顶组件获取所有空间。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans
包中。 请参阅XMLEncoder
。
Modifier and Type | Class and Description |
---|---|
protected class |
JSplitPane.AccessibleJSplitPane
这个类实现了可访问性支持
JSplitPane 类。
|
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
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
边界的绑定属性名称。
|
protected int |
dividerSize
分隔线的尺寸
|
static int |
HORIZONTAL_SPLIT
水平分割表示
Component 沿x轴分割。
|
static String |
LAST_DIVIDER_LOCATION_PROPERTY
最后位置的绑定属性。
|
protected int |
lastDividerLocation
拆分窗格的上一个位置。
|
static String |
LEFT
用于将添加
Component 其他左侧
Component 。
|
protected Component |
leftComponent
左或顶部组件。
|
static String |
ONE_TOUCH_EXPANDABLE_PROPERTY
1TouchExpandable的绑定属性。
|
protected boolean |
oneTouchExpandable
是否提供了一个小部件来快速展开/折叠拆分窗格?
|
protected int |
orientation
观点如何分裂。
|
static String |
ORIENTATION_PROPERTY
方向(水平或垂直)的绑定属性名称。
|
static String |
RESIZE_WEIGHT_PROPERTY
重量限制属性。
|
static String |
RIGHT
用于将添加
Component 其他权
Component 。
|
protected Component |
rightComponent
右侧或底部组件。
|
static String |
TOP
用来添加
Component 上述其它
Component 。
|
static int |
VERTICAL_SPLIT
垂直分割表示
Component s沿y轴分割。
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
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 用指定的方向和指定的组件。
|
Modifier and Type | Method and Description |
---|---|
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,所以调用这个
revalidate 的任何后代的
JSplitPane 将导致请求排队,这将验证
JSplitPane 及其所有后代。
|
protected void |
paintChildren(Graphics g)
Subclassed消息界面与
finishedPaintingChildren 之后超级已经被消息,以及画边框。
|
protected String |
paramString()
返回此
JSplitPane 的字符串表示
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的大小的
JSplitPane 。
|
void |
setDividerLocation(int location)
设置分频器的位置。
|
void |
setDividerSize(int newSize)
设置分频器的大小。
|
void |
setLastDividerLocation(int newLastLocation)
设置分频器的最后一个位置为
newLastLocation 。
|
void |
setLeftComponent(Component comp)
将组件设置在左边(或更高)分隔线。
|
void |
setOneTouchExpandable(boolean newValue)
设置
oneTouchExpandable 属性的值,它们必须为
true 为
JSplitPane 提供一个UI小部件在分隔符上以快速扩展/折叠分频器。
|
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的
UIManager 表明L&F已经改变了。
|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
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
,配置为使用组件的两个按钮水平并排排列子组件。
@ConstructorProperties(value="orientation") public JSplitPane(int newOrientation)
JSplitPane
方向配置的新的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
- 一个布尔值,对于组件,当分隔符更改位置时,连续重画的组件为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
- 一个布尔值,对于组件按分隔符更改位置连续重绘的值为true,false等待,直到分隔符位置停止更改为重绘
newLeftComponent
-所述
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对象。
updateUI
在
JComponent
JComponent.updateUI()
public String getUIClassID()
getUIClassID
在
JComponent
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
属性的值,它们必须为true
,以便JSplitPane
在JSplitPane
上提供UI小部件以快速扩展/折叠分频器。
此属性的默认值为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
,以便在用户干预期间不断重新显示和布局子组件。
此属性的默认值与外观和感觉相关。
有些外观和感觉可能不支持连续布局;
他们将忽略此属性。
newContinuousLayout
-
true
如果分配器更改位置时应连续重绘组件
isContinuousLayout()
public boolean isContinuousLayout()
continuousLayout
属性。
continuousLayout
属性
setContinuousLayout(boolean)
public void setResizeWeight(double value)
value
- 如上所述
IllegalArgumentException
- 如果
value
是<0或> 1
public double getResizeWeight()
public void resetToPreferredSizes()
JSplitPane
布局。
这可能会导致更改分配器位置。
public void setDividerLocation(double proportionalLocation)
JSplitPane
。
这种方法是按照setDividerLocation(int)来setDividerLocation(int)
。 此方法将立即根据当前大小更改拆分窗格的大小。 如果拆分窗格未正确实现并在屏幕上,此方法将不起作用(新分隔符位置将变为(当前大小*比例位置),为0)。
proportionalLocation
- 一个双精度浮点值,用于指定从零(上/左)到1.0(下/右)的百分比,
IllegalArgumentException
- 如果指定的位置是<0或> 1.0
public void setDividerLocation(int location)
setLastDividerLocation
进行更新。
location
- 指定UI特定值(通常为像素数)的int
public int getDividerLocation()
setDividerLocation
的最后一个值。
从此方法返回的值可能与实际分隔符位置不同(如果setDividerLocation
传递的值大于当前大小)。
public int getMinimumDividerLocation()
null
-1
public int getMaximumDividerLocation()
null
-1
public void remove(Component component)
component
。
根据需要重置leftComponent
或rightComponent
实例变量。
remove
在
Container
component
- 要删除的
Component
Container.add(java.awt.Component)
,
Container.invalidate()
,
Container.validate()
,
Container.remove(int)
public void remove(int index)
Component
指定索引处。
根据需要更新leftComponent
和rightComponent
实例变量,然后更新消息超级。
remove
在
Container
index
- 指定要删除的组件的整数,其中1指定左/顶组件,2指定底部/右组件
Container.add(java.awt.Component)
,
Container.invalidate()
,
Container.validate()
,
Container.getComponentCount()
public void removeAll()
leftComonent
和rightComponent
实例变量。
public boolean isValidateRoot()
revalidate
的任何后代调用
JSplitPane
将导致请求排队,这将验证
JSplitPane
及其所有后代。
isValidateRoot
在类
JComponent
JComponent.revalidate()
,
Container.isValidateRoot()
protected void addImpl(Component comp, Object constraints, int index)
constraints
标识了左/上或右/底部子组件,并且先前添加了具有该标识符的组件,则将其删除,然后将添加comp
。
如果constraints
不是已知标识符之一,则布局管理器可能会抛出一个IllegalArgumentException
。
可能的约束对象(Strings)是:
constraints
对象为null
,则该组件将添加到第一个可用位置(左/顶如果打开,否则右/底)。
addImpl
在
Container
comp
- 要添加的组件
constraints
- 指定
Object
组件的布局约束(位置)的Object
index
- 指定容器列表中的索引的整数。
IllegalArgumentException
- 如果
constraints
对象与现有组件不匹配
Container.addImpl(Component, Object, int)
protected void paintChildren(Graphics g)
finishedPaintingChildren
之后超级已经被消息,以及绘画边框。
paintChildren
在
JComponent
g
- 要绘画的
Graphics
上下文
JComponent.paint(java.awt.Graphics)
,
Container.paint(java.awt.Graphics)
protected String paramString()
JSplitPane
的字符串表示JSplitPane
。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在
JComponent
JSplitPane
的字符串表示
JSplitPane
。
public AccessibleContext getAccessibleContext()
getAccessibleContext
在接口
Accessible
getAccessibleContext
在
Component
类