Class JSplitPane
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
JSplitPane
is used to divide two (and only two)
Component
s. The two Component
s
are graphically divided based on the look and feel
implementation, and the two Component
s can then be
interactively resized by the user.
Information on using JSplitPane
is in
How to Use Split Panes in
The Java Tutorial.
The two Component
s in a split pane can be aligned
left to right using
JSplitPane.HORIZONTAL_SPLIT
, or top to bottom using
JSplitPane.VERTICAL_SPLIT
.
The preferred way to change the size of the Component
s
is to invoke
setDividerLocation
where location
is either
the new x or y position, depending on the orientation of the
JSplitPane
.
To resize the Component
s to their preferred sizes invoke
resetToPreferredSizes
.
When the user is resizing the Component
s the minimum
size of the Components
is used to determine the
maximum/minimum position the Component
s
can be set to. If the minimum size of the two
components is greater than the size of the split pane the divider
will not allow you to resize it. To alter the minimum size of a
JComponent
, see JComponent.setMinimumSize(java.awt.Dimension)
.
When the user resizes the split pane the new space is distributed between
the two components based on the resizeWeight
property.
A value of 0,
the default, indicates the right/bottom component gets all the space,
where as a value of 1 indicates the left/top component gets all the space.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans
has been added to the java.beans
package.
Please see XMLEncoder
.
- Since:
- 1.2
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
This class implements accessibility support for theJSplitPane
class.Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Used to add aComponent
below the otherComponent
.static final String
Bound property name for continuousLayout.protected boolean
Whether or not the views are continuously redisplayed while resizing.static final String
Used to add aComponent
that will represent the divider.static final String
Bound property for the dividerLocation.static final String
Bound property name for border.protected int
Size of the divider.static final int
Horizontal split indicates theComponent
s are split along the x axis.static final String
Bound property for lastLocation.protected int
Previous location of the split pane.static final String
Used to add aComponent
to the left of the otherComponent
.protected Component
The left or top component.static final String
Bound property for oneTouchExpandable.protected boolean
Is a little widget provided to quickly expand/collapse the split pane?protected int
How the views are split.static final String
Bound property name for orientation (horizontal or vertical).static final String
Bound property for weight.static final String
Used to add aComponent
to the right of the otherComponent
.protected Component
The right or bottom component.static final String
Used to add aComponent
above the otherComponent
.static final int
Vertical split indicates theComponent
s are split along the y axis.Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionCreates a newJSplitPane
configured to arrange the child components side-by-side horizontally, using two buttons for the components.JSplitPane
(int newOrientation) Creates a newJSplitPane
configured with the specified orientation.JSplitPane
(int newOrientation, boolean newContinuousLayout) Creates a newJSplitPane
with the specified orientation and redrawing style.JSplitPane
(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent) Creates a newJSplitPane
with the specified orientation and redrawing style, and with the specified components.JSplitPane
(int newOrientation, Component newLeftComponent, Component newRightComponent) Creates a newJSplitPane
with the specified orientation and the specified components. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Adds the specified component to this split pane.Gets the AccessibleContext associated with this JSplitPane.Returns the component below, or to the right of the divider.int
Returns the last value passed tosetDividerLocation
.int
Returns the size of the divider.int
Returns the last location the divider was at.Returns the component to the left (or above) the divider.int
Returns the maximum location of the divider from the look and feel implementation.int
Returns the minimum location of the divider from the look and feel implementation.int
Returns the orientation.double
Returns the number that determines how extra space is distributed.Returns the component to the right (or below) the divider.Returns the component above, or to the left of the divider.getUI()
Returns theSplitPaneUI
that is providing the current look and feel.Returns the name of the L&F class that renders this component.boolean
Gets thecontinuousLayout
property.boolean
Gets theoneTouchExpandable
property.boolean
Returns true, so that calls torevalidate
on any descendant of thisJSplitPane
will cause a request to be queued that will validate theJSplitPane
and all its descendants.protected void
Subclassed to message the UI withfinishedPaintingChildren
after super has been messaged, as well as painting the border.protected String
Returns a string representation of thisJSplitPane
.void
remove
(int index) Removes theComponent
at the specified index.void
Removes the child component,component
from the pane.void
Removes all the child components from the split pane.void
Lays out theJSplitPane
layout based on the preferred size of the children components.void
setBottomComponent
(Component comp) Sets the component below, or to the right of the divider.void
setComponentOrientation
(ComponentOrientation orientation) Sets the language-sensitive orientation that is to be used to order the elements or text within this component.void
setContinuousLayout
(boolean newContinuousLayout) Sets the value of thecontinuousLayout
property, which must betrue
for the child components to be continuously redisplayed and laid out during user intervention.void
setDividerLocation
(double proportionalLocation) Sets the divider location as a percentage of theJSplitPane
's size.void
setDividerLocation
(int location) Sets the location of the divider.void
setDividerSize
(int newSize) Sets the size of the divider.void
setEnabled
(boolean enabled) Sets whether or not this component is enabled.void
setLastDividerLocation
(int newLastLocation) Sets the last location the divider was at tonewLastLocation
.void
setLeftComponent
(Component comp) Sets the component to the left (or above) the divider.void
setOneTouchExpandable
(boolean newValue) Sets the value of theoneTouchExpandable
property, which must betrue
for theJSplitPane
to provide a UI widget on the divider to quickly expand/collapse the divider.void
setOrientation
(int orientation) Sets the orientation, or how the splitter is divided.void
setResizeWeight
(double value) Specifies how to distribute extra space when the size of the split pane changes.void
setRightComponent
(Component comp) Sets the component to the right (or below) the divider.void
setTopComponent
(Component comp) Sets the component above, or to the left of the divider.void
setUI
(SplitPaneUI ui) Sets the L&F object that renders this component.void
updateUI()
Notification from theUIManager
that the L&F has changed.Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods declared in class java.awt.Container
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
Methods declared in class java.awt.Component
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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
VERTICAL_SPLIT
public static final int VERTICAL_SPLITVertical split indicates theComponent
s are split along the y axis. For example the twoComponent
s will be split one on top of the other.- See Also:
-
HORIZONTAL_SPLIT
public static final int HORIZONTAL_SPLITHorizontal split indicates theComponent
s are split along the x axis. For example the twoComponent
s will be split one to the left of the other.- See Also:
-
LEFT
Used to add aComponent
to the left of the otherComponent
.- See Also:
-
RIGHT
Used to add aComponent
to the right of the otherComponent
.- See Also:
-
TOP
-
BOTTOM
-
DIVIDER
Used to add aComponent
that will represent the divider.- See Also:
-
ORIENTATION_PROPERTY
Bound property name for orientation (horizontal or vertical).- See Also:
-
CONTINUOUS_LAYOUT_PROPERTY
Bound property name for continuousLayout.- See Also:
-
DIVIDER_SIZE_PROPERTY
-
ONE_TOUCH_EXPANDABLE_PROPERTY
Bound property for oneTouchExpandable.- See Also:
-
LAST_DIVIDER_LOCATION_PROPERTY
Bound property for lastLocation.- See Also:
-
DIVIDER_LOCATION_PROPERTY
Bound property for the dividerLocation.- Since:
- 1.3
- See Also:
-
RESIZE_WEIGHT_PROPERTY
-
orientation
protected int orientationHow the views are split. -
continuousLayout
protected boolean continuousLayoutWhether or not the views are continuously redisplayed while resizing. -
leftComponent
The left or top component. -
rightComponent
The right or bottom component. -
dividerSize
protected int dividerSizeSize of the divider. -
oneTouchExpandable
protected boolean oneTouchExpandableIs a little widget provided to quickly expand/collapse the split pane? -
lastDividerLocation
protected int lastDividerLocationPrevious location of the split pane.
-
-
Constructor Details
-
JSplitPane
public JSplitPane()Creates a newJSplitPane
configured to arrange the child components side-by-side horizontally, using two buttons for the components. -
JSplitPane
Creates a newJSplitPane
configured with the specified orientation.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
- Throws:
IllegalArgumentException
- iforientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT.
-
JSplitPane
public JSplitPane(int newOrientation, boolean newContinuousLayout) Creates a newJSplitPane
with the specified orientation and redrawing style.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
newContinuousLayout
- a boolean, true for the components to redraw continuously as the divider changes position, false to wait until the divider position stops changing to redraw- Throws:
IllegalArgumentException
- iforientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
JSplitPane
Creates a newJSplitPane
with the specified orientation and the specified components.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
newLeftComponent
- theComponent
that will appear on the left of a horizontally-split pane, or at the top of a vertically-split panenewRightComponent
- theComponent
that will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException
- iforientation
is not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
JSplitPane
public JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent) Creates a newJSplitPane
with the specified orientation and redrawing style, and with the specified components.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
newContinuousLayout
- a boolean, true for the components to redraw continuously as the divider changes position, false to wait until the divider position stops changing to redrawnewLeftComponent
- theComponent
that will appear on the left of a horizontally-split pane, or at the top of a vertically-split panenewRightComponent
- theComponent
that will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException
- iforientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
-
Method Details
-
setComponentOrientation
Sets the language-sensitive orientation that is to be used to order the elements or text within this component. Language-sensitiveLayoutManager
andComponent
subclasses will use this property to determine how to lay out and draw components.At construction time, a component's orientation is set to
ComponentOrientation.UNKNOWN
, indicating that it has not been specified explicitly. The UNKNOWN orientation behaves the same asComponentOrientation.LEFT_TO_RIGHT
.To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, use
applyComponentOrientation
.This method changes layout-related information, and therefore, invalidates the component hierarchy.
- Overrides:
setComponentOrientation
in classComponent
- Parameters:
orientation
- the orientation to be set- See Also:
-
setEnabled
public void setEnabled(boolean enabled) Sets whether or not this component is enabled. A component that is enabled may respond to user input, while a component that is not enabled cannot respond to user input. Some components may alter their visual representation when they are disabled in order to provide feedback to the user that they cannot take input.Note: Disabling a component does not disable its children.
Note: Disabling a lightweight component does not prevent it from receiving MouseEvents.
- Overrides:
setEnabled
in classJComponent
- Parameters:
enabled
- true if this component should be enabled, false otherwise- See Also:
-
setUI
Sets the L&F object that renders this component.- Parameters:
ui
- theSplitPaneUI
L&F object- See Also:
-
getUI
@BeanProperty(bound=false, expert=true, description="The L&F object that renders this component.") public SplitPaneUI getUI()Returns theSplitPaneUI
that is providing the current look and feel.- Overrides:
getUI
in classJComponent
- Returns:
- the
SplitPaneUI
object that renders this component
-
updateUI
public void updateUI()Notification from theUIManager
that the L&F has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classJComponent
- See Also:
-
getUIClassID
@BeanProperty(bound=false, expert=true, description="A string that specifies the name of the L&F class.") public String getUIClassID()Returns the name of the L&F class that renders this component.- Overrides:
getUIClassID
in classJComponent
- Returns:
- the string "SplitPaneUI"
- See Also:
-
setDividerSize
Sets the size of the divider. Divider sizesnewSize < 0
are ignored.- Parameters:
newSize
- an integer giving the size of the divider in pixels
-
getDividerSize
public int getDividerSize()Returns the size of the divider.- Returns:
- an integer giving the size of the divider in pixels
-
setLeftComponent
Sets the component to the left (or above) the divider.- Parameters:
comp
- theComponent
to display in that position
-
getLeftComponent
@BeanProperty(bound=false, preferred=true, description="The component to the left (or above) the divider.") public Component getLeftComponent()Returns the component to the left (or above) the divider.- Returns:
- the
Component
displayed in that position
-
setTopComponent
@BeanProperty(bound=false, description="The component above, or to the left of the divider.") public void setTopComponent(Component comp) Sets the component above, or to the left of the divider.- Parameters:
comp
- theComponent
to display in that position
-
getTopComponent
Returns the component above, or to the left of the divider.- Returns:
- the
Component
displayed in that position
-
setRightComponent
@BeanProperty(bound=false, preferred=true, description="The component to the right (or below) the divider.") public void setRightComponent(Component comp) Sets the component to the right (or below) the divider.- Parameters:
comp
- theComponent
to display in that position
-
getRightComponent
Returns the component to the right (or below) the divider.- Returns:
- the
Component
displayed in that position
-
setBottomComponent
@BeanProperty(bound=false, description="The component below, or to the right of the divider.") public void setBottomComponent(Component comp) Sets the component below, or to the right of the divider.- Parameters:
comp
- theComponent
to display in that position
-
getBottomComponent
Returns the component below, or to the right of the divider.- Returns:
- the
Component
displayed in that position
-
setOneTouchExpandable
@BeanProperty(description="UI widget on the divider to quickly expand/collapse the divider.") public void setOneTouchExpandable(boolean newValue) Sets the value of theoneTouchExpandable
property, which must betrue
for theJSplitPane
to provide a UI widget on the divider to quickly expand/collapse the divider. The default value of this property isfalse
. Some look and feels might not support one-touch expanding; they will ignore this property.- Parameters:
newValue
-true
to specify that the split pane should provide a collapse/expand widget- See Also:
-
isOneTouchExpandable
public boolean isOneTouchExpandable()Gets theoneTouchExpandable
property.- Returns:
- the value of the
oneTouchExpandable
property - See Also:
-
setLastDividerLocation
@BeanProperty(description="The last location the divider was at.") public void setLastDividerLocation(int newLastLocation) Sets the last location the divider was at tonewLastLocation
.- Parameters:
newLastLocation
- an integer specifying the last divider location in pixels, from the left (or upper) edge of the pane to the left (or upper) edge of the divider
-
getLastDividerLocation
public int getLastDividerLocation()Returns the last location the divider was at.- Returns:
- an integer specifying the last divider location as a count of pixels from the left (or upper) edge of the pane to the left (or upper) edge of the divider
-
setOrientation
@BeanProperty(enumerationValues={"JSplitPane.HORIZONTAL_SPLIT","JSplitPane.VERTICAL_SPLIT"}, description="The orientation, or how the splitter is divided.") public void setOrientation(int orientation) Sets the orientation, or how the splitter is divided. The options are:- JSplitPane.VERTICAL_SPLIT (above/below orientation of components)
- JSplitPane.HORIZONTAL_SPLIT (left/right orientation of components)
- Parameters:
orientation
- an integer specifying the orientation- Throws:
IllegalArgumentException
- if orientation is not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT.
-
getOrientation
public int getOrientation()Returns the orientation.- Returns:
- an integer giving the orientation
- See Also:
-
setContinuousLayout
@BeanProperty(description="Whether the child components are continuously redisplayed and laid out during user intervention.") public void setContinuousLayout(boolean newContinuousLayout) Sets the value of thecontinuousLayout
property, which must betrue
for the child components to be continuously redisplayed and laid out during user intervention. The default value of this property is look and feel dependent. Some look and feels might not support continuous layout; they will ignore this property.- Parameters:
newContinuousLayout
-true
if the components should continuously be redrawn as the divider changes position- See Also:
-
isContinuousLayout
public boolean isContinuousLayout()Gets thecontinuousLayout
property.- Returns:
- the value of the
continuousLayout
property - See Also:
-
setResizeWeight
@BeanProperty(description="Specifies how to distribute extra space when the split pane resizes.") public void setResizeWeight(double value) Specifies how to distribute extra space when the size of the split pane changes. A value of 0, the default, indicates the right/bottom component gets all the extra space (the left/top component acts fixed), where as a value of 1 specifies the left/top component gets all the extra space (the right/bottom component acts fixed). Specifically, the left/top component gets (weight * diff) extra space and the right/bottom component gets (1 - weight) * diff extra space.- Parameters:
value
- as described above- Throws:
IllegalArgumentException
- ifvalue
is < 0 or > 1- Since:
- 1.3
-
getResizeWeight
public double getResizeWeight()Returns the number that determines how extra space is distributed.- Returns:
- how extra space is to be distributed on a resize of the split pane
- Since:
- 1.3
-
resetToPreferredSizes
public void resetToPreferredSizes()Lays out theJSplitPane
layout based on the preferred size of the children components. This will likely result in changing the divider location. -
setDividerLocation
@BeanProperty(description="The location of the divider.") public void setDividerLocation(double proportionalLocation) Sets the divider location as a percentage of theJSplitPane
's size.This method is implemented in terms of
setDividerLocation(int)
. This method immediately changes the size of the split pane based on its current size. If the split pane is not correctly realized and on screen, this method will have no effect (new divider location will become (current size * proportionalLocation) which is 0).- Parameters:
proportionalLocation
- a double-precision floating point value that specifies a percentage, from zero (top/left) to 1.0 (bottom/right)- Throws:
IllegalArgumentException
- if the specified location is < 0 or > 1.0
-
setDividerLocation
@BeanProperty(description="The location of the divider.") public void setDividerLocation(int location) Sets the location of the divider. This is passed off to the look and feel implementation, and then listeners are notified. A value less than 0 implies the divider should be reset to a value that attempts to honor the preferred size of the left/top component. After notifying the listeners, the last divider location is updated, viasetLastDividerLocation
.- Parameters:
location
- an int specifying a UI-specific value (typically a pixel count)
-
getDividerLocation
public int getDividerLocation()Returns the last value passed tosetDividerLocation
. The value returned from this method may differ from the actual divider location (ifsetDividerLocation
was passed a value bigger than the current size).- Returns:
- an integer specifying the location of the divider
-
getMinimumDividerLocation
@BeanProperty(bound=false, description="The minimum location of the divider from the L&F.") public int getMinimumDividerLocation()Returns the minimum location of the divider from the look and feel implementation.- Returns:
- an integer specifying a UI-specific value for the minimum
location (typically a pixel count); or -1 if the UI is
null
-
getMaximumDividerLocation
Returns the maximum location of the divider from the look and feel implementation.- Returns:
- an integer specifying a UI-specific value for the maximum
location (typically a pixel count); or -1 if the UI is
null
-
remove
-
remove
public void remove(int index) Removes theComponent
at the specified index. Updates theleftComponent
andrightComponent
instance variables as necessary, and then messages super. -
removeAll
-
isValidateRoot
Returns true, so that calls torevalidate
on any descendant of thisJSplitPane
will cause a request to be queued that will validate theJSplitPane
and all its descendants.- Overrides:
isValidateRoot
in classJComponent
- Returns:
- true
- See Also:
-
addImpl
Adds the specified component to this split pane. Ifconstraints
identifies the left/top or right/bottom child component, and a component with that identifier was previously added, it will be removed and thencomp
will be added in its place. Ifconstraints
is not one of the known identifiers the layout manager may throw anIllegalArgumentException
.The possible constraints objects (Strings) are:
- JSplitPane.TOP
- JSplitPane.LEFT
- JSplitPane.BOTTOM
- JSplitPane.RIGHT
constraints
object isnull
, the component is added in the first available position (left/top if open, else right/bottom).- Overrides:
addImpl
in classContainer
- Parameters:
comp
- the component to addconstraints
- anObject
specifying the layout constraints (position) for this componentindex
- an integer specifying the index in the container's list.- Throws:
IllegalArgumentException
- if theconstraints
object does not match an existing component- See Also:
-
paintChildren
Subclassed to message the UI withfinishedPaintingChildren
after super has been messaged, as well as painting the border.- Overrides:
paintChildren
in classJComponent
- Parameters:
g
- theGraphics
context within which to paint- See Also:
-
paramString
Returns a string representation of thisJSplitPane
. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.- Overrides:
paramString
in classJComponent
- Returns:
- a string representation of this
JSplitPane
.
-
getAccessibleContext
@BeanProperty(bound=false, expert=true, description="The AccessibleContext associated with this SplitPane.") public AccessibleContext getAccessibleContext()Gets the AccessibleContext associated with this JSplitPane. For split panes, the AccessibleContext takes the form of an AccessibleJSplitPane. A new AccessibleJSplitPane instance is created if necessary.- Specified by:
getAccessibleContext
in interfaceAccessible
- Overrides:
getAccessibleContext
in classComponent
- Returns:
- an AccessibleJSplitPane that serves as the AccessibleContext of this JSplitPane
-