| JavaTM 2 Platform Std. Ed. v1.6.0
javax.swing
Class JSplitPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSplitPane
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible
public class JSplitPane - extends JComponent
- implements Accessible
JSplitPane is used to divide two (and only two)
Components. The two Components
are graphically divided based on the look and feel
implementation, and the two Components 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 Components 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 Components
is to invoke
setDividerLocation where location is either
the new x or y position, depending on the orientation of the
JSplitPane.
To resize the Components to their preferred sizes invoke
resetToPreferredSizes.
When the user is resizing the Components the minimum
size of the Components is used to determine the
maximum/minimum position the Components
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 JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
- See Also:
setDividerLocation(double),
resetToPreferredSizes()
|
Constructor Summary |
JSplitPane()
Creates a new JSplitPane configured to arrange the child
components side-by-side horizontally with no continuous
layout, using two buttons for the components. |
JSplitPane(int newOrientation)
Creates a new JSplitPane configured with the
specified orientation and no continuous layout. |
JSplitPane(int newOrientation,
boolean newContinuousLayout)
Creates a new JSplitPane with the specified
orientation and redrawing style. |
JSplitPane(int newOrientation,
boolean newContinuousLayout,
Component newLeftComponent,
Component newRightComponent)
Creates a new JSplitPane with the specified
orientation and
redrawing style, and with the specified components. |
JSplitPane(int newOrientation,
Component newLeftComponent,
Component newRightComponent)
Creates a new JSplitPane with the specified
orientation and
with the specified components that do not do continuous
redrawing. |
|
Method Summary |
protected void |
addImpl(Component comp,
Object constraints,
int index)
Adds the specified component to this split pane. |
AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this JSplitPane. |
Component |
getBottomComponent()
Returns the component below, or to the right of the divider. |
int |
getDividerLocation()
Returns the last value passed to setDividerLocation. |
int |
getDividerSize()
Returns the size of the divider. |
int |
getLastDividerLocation()
Returns the last location the divider was at. |
Component |
getLeftComponent()
Returns the component to the left (or above) the divider. |
int |
getMaximumDividerLocation()
Returns the maximum location of the divider from the look and feel
implementation. |
int |
getMinimumDividerLocation()
Returns the minimum location of the divider from the look and feel
implementation. |
int |
getOrientation()
Returns the orientation. |
double |
getResizeWeight()
Returns the number that determines how extra space is distributed. |
Component |
getRightComponent()
Returns the component to the right (or below) the divider. |
Component |
getTopComponent()
Returns the component above, or to the left of the divider. |
SplitPaneUI |
getUI()
Returns the SplitPaneUI that is providing the
current look and feel. |
String |
getUIClassID()
Returns the name of the L&F class that renders this component. |
boolean |
isContinuousLayout()
Gets the continuousLayout property. |
boolean |
isOneTouchExpandable()
Gets the oneTouchExpandable property. |
boolean |
isValidateRoot()
Returns true, so that calls to revalidate
on any descendant of this JSplitPane
will cause a request to be queued that
will validate the JSplitPane and all its descendants. |
protected void |
paintChildren(Graphics g)
Subclassed to message the UI with finishedPaintingChildren
after super has been messaged, as well as painting the border. |
protected String |
paramString()
Returns a string representation of this JSplitPane. |
void |
remove(Component component)
Removes the child component, component from the
pane. |
void |
remove(int index)
Removes the Component at the specified index. |
void |
removeAll()
Removes all the child components from the split pane. |
void |
resetToPreferredSizes()
Lays out the JSplitPane 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 |
setContinuousLayout(boolean newContinuousLayout)
Sets the value of the continuousLayout property,
which must be true 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 the
JSplitPane's size. |
void |
setDividerLocation(int location)
Sets the location of the divider. |
void |
setDividerSize(int newSize)
Sets the size of the divider. |
void |
setLastDividerLocation(int newLastLocation)
Sets the last location the divider was at to
newLastLocation. |
void |
setLeftComponent(Component comp)
Sets the component to the left (or above) the divider. |
void |
setOneTouchExpandable(boolean newValue)
Sets the value of the oneTouchExpandable property,
which must be true for the
JSplitPane 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 the UIManager that the L&F has changed. |
| Methods inherited from class javax.swing.JComponent |
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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 |
| Methods inherited from 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
| Methods inherited from 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, 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, hide, 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, transferFocusUpCycle |
VERTICAL_SPLIT
public static final int VERTICAL_SPLIT
- Vertical split indicates the
Components are
split along the y axis. For example the two
Components will be split one on top of the other.
- See Also:
- Constant Field Values
HORIZONTAL_SPLIT
public static final int HORIZONTAL_SPLIT
- Horizontal split indicates the
Components are
split along the x axis. For example the two
Components will be split one to the left of the
other.
- See Also:
- Constant Field Values
LEFT
public static final String LEFT
- Used to add a
Component to the left of the other
Component.
- See Also:
- Constant Field Values
RIGHT
public static final String RIGHT
- Used to add a
Component to the right of the other
Component.
- See Also:
- Constant Field Values
TOP
public static final String TOP
- Used to add a
Component above the other
Component.
- See Also:
- Constant Field Values
BOTTOM
public static final String BOTTOM
- Used to add a
Component below the other
Component.
- See Also:
- Constant Field Values
DIVIDER
public static final String DIVIDER
- Used to add a
Component that will represent the divider.
- See Also:
- Constant Field Values
ORIENTATION_PROPERTY
public static final String ORIENTATION_PROPERTY
- Bound property name for orientation (horizontal or vertical).
- See Also:
- Constant Field Values
CONTINUOUS_LAYOUT_PROPERTY
public static final String CONTINUOUS_LAYOUT_PROPERTY
- Bound property name for continuousLayout.
- See Also:
- Constant Field Values
DIVIDER_SIZE_PROPERTY
public static final String DIVIDER_SIZE_PROPERTY
- Bound property name for border.
- See Also:
- Constant Field Values
ONE_TOUCH_EXPANDABLE_PROPERTY
public static final String ONE_TOUCH_EXPANDABLE_PROPERTY
- Bound property for oneTouchExpandable.
- See Also:
- Constant Field Values
LAST_DIVIDER_LOCATION_PROPERTY
public static final String LAST_DIVIDER_LOCATION_PROPERTY
- Bound property for lastLocation.
- See Also:
- Constant Field Values
DIVIDER_LOCATION_PROPERTY
public static final String DIVIDER_LOCATION_PROPERTY
- Bound property for the dividerLocation.
- Since:
- 1.3
- See Also:
- Constant Field Values
RESIZE_WEIGHT_PROPERTY
public static final String RESIZE_WEIGHT_PROPERTY
- Bound property for weight.
- Since:
- 1.3
- See Also:
- Constant Field Values
orientation
protected int orientation
- How the views are split.
continuousLayout
protected boolean continuousLayout
- Whether or not the views are continuously redisplayed while
resizing.
leftComponent
protected Component leftComponent
- The left or top component.
rightComponent
protected Component rightComponent
- The right or bottom component.
dividerSize
protected int dividerSize
- Size of the divider.
oneTouchExpandable
protected boolean oneTouchExpandable
- Is a little widget provided to quickly expand/collapse the
split pane?
lastDividerLocation
protected int lastDividerLocation
- Previous location of the split pane.
JSplitPane
public JSplitPane()
- Creates a new
JSplitPane configured to arrange the child
components side-by-side horizontally with no continuous
layout, using two buttons for the components.
JSplitPane
public JSplitPane(int newOrientation)
- Creates a new
JSplitPane configured with the
specified orientation and no continuous layout.
- Parameters:
newOrientation - JSplitPane.HORIZONTAL_SPLIT or
JSplitPane.VERTICAL_SPLIT
- Throws:
IllegalArgumentException - if orientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT.
JSplitPane
public JSplitPane(int newOrientation,
boolean newContinuousLayout)
- Creates a new
JSplitPane with the specified
orientation and redrawing style.
- Parameters:
newOrientation - JSplitPane.HORIZONTAL_SPLIT or
JSplitPane.VERTICAL_SPLITnewContinuousLayout - 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 - if orientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
JSplitPane
public JSplitPane(int newOrientation,
Component newLeftComponent,
Component newRightComponent)
- Creates a new
JSplitPane with the specified
orientation and
with the specified components that do not do continuous
redrawing.
- Parameters:
newOrientation - JSplitPane.HORIZONTAL_SPLIT or
JSplitPane.VERTICAL_SPLITnewLeftComponent - the Component that will
appear on the left
of a horizontally-split pane, or at the top of a
vertically-split panenewRightComponent - the Component that will
appear on the right
of a horizontally-split pane, or at the bottom of a
vertically-split pane
- Throws:
IllegalArgumentException - if orientation
is not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT
JSplitPane
public JSplitPane(int newOrientation,
boolean newContinuousLayout,
Component newLeftComponent,
Component newRightComponent)
- Creates a new
JSplitPane with the specified
orientation and
redrawing style, and with the specified components.
- Parameters:
newOrientation - JSplitPane.HORIZONTAL_SPLIT or
JSplitPane.VERTICAL_SPLITnewContinuousLayout - 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 - the Component that will
appear on the left
of a horizontally-split pane, or at the top of a
vertically-split panenewRightComponent - the Component that will
appear on the right
of a horizontally-split pane, or at the bottom of a
vertically-split pane
- Throws:
IllegalArgumentException - if orientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
setUI
public void setUI(SplitPaneUI ui)
- Sets the L&F object that renders this component.
- Parameters:
ui - the SplitPaneUI L&F object- See Also:
UIDefaults.getUI(javax.swing.JComponent)
getUI
public SplitPaneUI getUI()
- Returns the
SplitPaneUI that is providing the
current look and feel.
- Returns:
- the
SplitPaneUI object that renders this component
updateUI
public void updateUI()
- Notification from the
UIManager that the L&F has changed.
Replaces the current UI object with the latest version from the
UIManager.
- Overrides:
updateUI in class JComponent
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
- Returns the name of the L&F class that renders this component.
- Overrides:
getUIClassID in class JComponent
- Returns:
- the string "SplitPaneUI"
- See Also:
JComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)
setDividerSize
public void setDividerSize(int newSize)
- Sets the size of the divider.
- 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
public void setLeftComponent(Component comp)
- Sets the component to the left (or above) the divider.
- Parameters:
comp - the Component to display in that position
getLeftComponent
public Component getLeftComponent()
- Returns the component to the left (or above) the divider.
- Returns:
- the
Component displayed in that position
setTopComponent
public void setTopComponent(Component comp)
- Sets the component above, or to the left of the divider.
- Parameters:
comp - the Component to display in that position
getTopComponent
public Component getTopComponent()
- Returns the component above, or to the left of the divider.
- Returns:
- the
Component displayed in that position
setRightComponent
public void setRightComponent(Component comp)
- Sets the component to the right (or below) the divider.
- Parameters:
comp - the Component to display in that position
getRightComponent
public Component getRightComponent()
- Returns the component to the right (or below) the divider.
- Returns:
- the
Component displayed in that position
setBottomComponent
public void setBottomComponent(Component comp)
- Sets the component below, or to the right of the divider.
- Parameters:
comp - the Component to display in that position
getBottomComponent
public Component getBottomComponent()
- Returns the component below, or to the right of the divider.
- Returns:
- the
Component displayed in that position
setOneTouchExpandable
public void setOneTouchExpandable(boolean newValue)
- Sets the value of the
oneTouchExpandable property,
which must be true for the
JSplitPane to provide a UI widget
on the divider to quickly expand/collapse the divider.
The default value of this property is false.
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()
isOneTouchExpandable
public boolean isOneTouchExpandable()
- Gets the
oneTouchExpandable property.
- Returns:
- the value of the
oneTouchExpandable property - See Also:
setOneTouchExpandable(boolean)
setLastDividerLocation
public void setLastDividerLocation(int newLastLocation)
- Sets the last location the divider was at to
newLastLocation.
- 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
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 orientat |