public class SplitPane extends Container
A split pane can either be horizontal or vertical, and provides a draggable divider
between two components. If the orientation
is HORIZONTAL_SPLIT
, then the
child components will be laid out horizontally (side by side with a vertical bar as a divider).
If the orientation
is VERTICAL_SPLIT
, then the components are laid out vertically (one above
the other.
The bar divider bar includes arrows to collapse and expand the divider also.
Splitpane UI
The following is an example of a UI that is built around a split pane. This has an outer "horizontal" split pane, and the left side has a vertical split pane.
Collapsed:
Expanded:
Modifier and Type | Class and Description |
---|---|
static class |
SplitPane.Settings
An object to configure settings for a SplitPane.
|
Modifier and Type | Field and Description |
---|---|
static int |
HORIZONTAL_SPLIT
Constant used for orientation.
|
static int |
VERTICAL_SPLIT
Constant used for orientation.
|
BASELINE, BOTTOM, BRB_CENTER_OFFSET, BRB_CONSTANT_ASCENT, BRB_CONSTANT_DESCENT, BRB_OTHER, CENTER, CROSSHAIR_CURSOR, DEFAULT_CURSOR, DRAG_REGION_IMMEDIATELY_DRAG_X, DRAG_REGION_IMMEDIATELY_DRAG_XY, DRAG_REGION_IMMEDIATELY_DRAG_Y, DRAG_REGION_LIKELY_DRAG_X, DRAG_REGION_LIKELY_DRAG_XY, DRAG_REGION_LIKELY_DRAG_Y, DRAG_REGION_NOT_DRAGGABLE, DRAG_REGION_POSSIBLE_DRAG_X, DRAG_REGION_POSSIBLE_DRAG_XY, DRAG_REGION_POSSIBLE_DRAG_Y, E_RESIZE_CURSOR, HAND_CURSOR, LEFT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NW_RESIZE_CURSOR, RIGHT, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, TOP, W_RESIZE_CURSOR, WAIT_CURSOR
Constructor and Description |
---|
SplitPane(int orientation,
Component topOrLeft,
Component bottomOrRight,
String minInset,
String preferredInset,
String maxInset)
Creates a new SplitPane.
|
SplitPane(SplitPane.Settings settings,
Component topOrLeft,
Component bottomOrRight)
Creates a new SplitPane.
|
Modifier and Type | Method and Description |
---|---|
void |
changeInsets(String minInset,
String preferredInset,
String maxInset)
Changes the minimum, preferred, and maximum insets of the split pane.
|
void |
collapse()
Collapses the aplit pane.
|
void |
collapse(boolean force)
Collapses the split pane.
|
void |
expand()
Expands the split pane.
|
void |
expand(boolean force)
Expands the split pane.
|
Component |
getBottom()
Gets the component that is currently placed in the bottom of the split pane.
|
Component |
getBottomOrRightComponent()
Gets the component that is currently placed in the bottom or right of the split pane.
|
Component |
getLeft()
Gets the component that is currently placed in the left of the split pane.
|
String |
getMaxInset()
Gets the string value of the maximum inset of the divider.
|
String |
getMinInset()
Gets the string value of the minimum inset of the divider.
|
String |
getPreferredInset()
Gets the string value of the preferred inset.
|
Component |
getRight()
Gets the component that is currently placed in the right of the split pane.
|
Component |
getTop()
Gets the component that is currently placed in the top of the split pane.
|
Component |
getTopOrLeftComponent()
Gets the component that is currently placed in the top or left of the split pane.
|
void |
setBottom(Component cmp)
Sets the component to be placed on the bottom of the split pane.
|
void |
setInset(String inset)
Sets the inset of the divider explicitly.
|
void |
setInset(String inset,
boolean clamp)
Sets the inset of the divider explicitly.
|
void |
setLeft(Component cmp)
Sets the component that should be placed in the left section of the split pane.
|
void |
setMaxInset(String inset)
Sets the maximum inset allowed for the divider.
|
void |
setMinInset(String inset)
Sets the minimum inset allowed for the divider.
|
void |
setPreferredInset(String inset)
Sets the preferred inset of this split pane.
|
void |
setRight(Component cmp)
Sets the component to be placed on the right of the split pane.
|
void |
setTop(Component cmp)
Sets the component that should be placed in the top section of the split pane.
|
void |
toggleCollapsePreferred()
Toggles the split pane between collapsed state and preferred state.
|
void |
toggleExpandPreferred()
Toggles the split pane between expanded state and preferred state.
|
add, add, add, add, add, add, addAll, addComponent, addComponent, addComponent, addComponent, animateHierarchy, animateHierarchyAndWait, animateHierarchyFade, animateHierarchyFadeAndWait, animateLayout, animateLayoutAndWait, animateLayoutFade, animateLayoutFadeAndWait, animateUnlayout, animateUnlayoutAndWait, applyRTL, calcPreferredSize, cancelRepaints, clearClientProperties, constrainHeightWhenScrollable, constrainWidthWhenScrollable, contains, createAnimateHierarchy, createAnimateHierarchyFade, createAnimateLayout, createAnimateLayoutFade, createAnimateLayoutFadeAndWait, createAnimateMotion, createAnimateUnlayout, createReplaceTransition, dragInitiated, drop, encloseIn, encloseIn, findDropTargetAt, findFirstFocusable, fireClicked, flushReplace, forceRevalidate, getBottomGap, getChildrenAsList, getClosestComponentTo, getComponentAt, getComponentAt, getComponentCount, getComponentIndex, getGridPosX, getGridPosY, getLayout, getLayoutHeight, getLayoutWidth, getLeadComponent, getLeadParent, getResponderAt, getSafeAreaRoot, getScrollIncrement, getSideGap, getUIManager, initLaf, invalidate, isEnabled, isSafeArea, isSafeAreaRoot, isScrollableX, isScrollableY, isSelectableInteraction, isSurface, iterator, iterator, keyPressed, keyReleased, layoutContainer, morph, morphAndWait, paint, paintBackground, paintBorderBackground, paintComponentBackground, paintGlass, paramString, pointerPressed, refreshTheme, removeAll, removeComponent, replace, replace, replaceAndWait, replaceAndWait, replaceAndWait, revalidate, revalidateLater, revalidateWithAnimationSafety, scrollComponentToVisible, setCellRenderer, setEnabled, setLayout, setLeadComponent, setSafeArea, setSafeAreaRoot, setScrollable, setScrollableX, setScrollableY, setScrollIncrement, setShouldCalcPreferredSize, setShouldLayout, setUIManager, updateTabIndices
addDragFinishedListener, addDragOverListener, addDropListener, addFocusListener, addLongPressListener, addPointerDraggedListener, addPointerPressedListener, addPointerReleasedListener, addPullToRefresh, addScrollListener, addStateChangeListener, animate, bindProperty, blocksSideSwipe, calcScrollSize, contains, containsOrOwns, createStyleAnimation, deinitialize, deinitializeCustomStyle, dragEnter, dragExit, dragFinished, draggingOver, drawDraggedImage, focusGained, focusLost, getAbsoluteX, getAbsoluteY, getAllStyles, getAnimationManager, getBaseline, getBaselineResizeBehavior, getBindablePropertyNames, getBindablePropertyTypes, getBorder, getBoundPropertyValue, getBounds, getBounds, getClientProperty, getCloudBoundProperty, getCloudDestinationProperty, getComponentForm, getComponentState, getCursor, getDefaultDragTransparency, getDirtyRegion, getDisabledStyle, getDraggedx, getDraggedy, getDragImage, getDragRegionStatus, getDragSpeed, getDragTransparency, getEditingDelegate, getHeight, getInlineAllStyles, getInlineDisabledStyles, getInlinePressedStyles, getInlineSelectedStyles, getInlineStylesTheme, getInlineUnselectedStyles, getInnerHeight, getInnerPreferredH, getInnerPreferredW, getInnerWidth, getInnerX, getInnerY, getLabelForComponent, getName, getNativeOverlay, getNextFocusDown, getNextFocusLeft, getNextFocusRight, getNextFocusUp, getOuterHeight, getOuterPreferredH, getOuterPreferredW, getOuterWidth, getOuterX, getOuterY, getOwner, getParent, getPreferredH, getPreferredSize, getPreferredSizeStr, getPreferredTabIndex, getPreferredW, getPressedStyle, getPropertyNames, getPropertyTypeNames, getPropertyTypes, getPropertyValue, getSameHeight, getSameWidth, getScrollable, getScrollAnimationSpeed, getScrollDimension, getScrollOpacity, getScrollOpacityChangeSpeed, getScrollX, getScrollY, getSelectCommandText, getSelectedRect, getSelectedStyle, getStyle, getTabIndex, getTensileLength, getTextSelectionSupport, getTooltip, getUIID, getUnselectedStyle, getVisibleBounds, getVisibleBounds, getWidth, getX, getY, growShrink, handlesInput, hasFixedPreferredSize, hasFocus, hideNativeOverlay, initComponent, initCustomStyle, initDisabledStyle, initPressedStyle, initSelectedStyle, initUnselectedStyle, installDefaultPainter, isAlwaysTensile, isBlockLead, isCellRenderer, isChildOf, isDragActivated, isDragAndDropOperation, isDraggable, isDragRegion, isDropTarget, isEditable, isEditing, isFlatten, isFocusable, isGrabsPointerEvents, isHidden, isHidden, isHideInLandscape, isHideInPortrait, isIgnorePointerEvents, isInClippingRegion, isInitialized, isOpaque, isOwnedBy, isPinchBlocksDragAndDrop, isRippleEffect, isRTL, isScrollable, isScrollVisible, isSetCursorSupported, isSmoothScrolling, isSnapToGrid, isStickyDrag, isTactileTouch, isTactileTouch, isTensileDragEnabled, isTraversable, isVisible, keyRepeated, laidOut, longKeyPress, longPointerPress, onScrollX, onScrollY, paintBackgrounds, paintBorder, paintComponent, paintComponent, paintIntersectingComponentsAbove, paintLock, paintLockRelease, paintRippleOverlay, paintScrollbars, paintScrollbarX, paintScrollbarY, paintShadows, parsePreferredSize, pinch, pinch, pinchReleased, pointerDragged, pointerDragged, pointerHover, pointerHoverPressed, pointerHoverReleased, pointerPressed, pointerReleased, pointerReleased, putClientProperty, refreshTheme, refreshTheme, remove, removeDragFinishedListener, removeDragOverListener, removeDropListener, removeFocusListener, removeLongPressListener, removePointerDraggedListener, removePointerPressedListener, removePointerReleasedListener, removeScrollListener, removeStateChangeListener, repaint, repaint, requestFocus, resetFocusable, respondsToPointerEvents, scrollRectToVisible, scrollRectToVisible, setAlwaysTensile, setBlockLead, setBoundPropertyValue, setCloudBoundProperty, setCloudDestinationProperty, setComponentState, setCursor, setDefaultDragTransparency, setDirtyRegion, setDisabledStyle, setDraggable, setDragTransparency, setDropTarget, setEditingDelegate, setFlatten, setFocus, setFocusable, setGrabsPointerEvents, setHandlesInput, setHeight, setHidden, setHidden, setHideInLandscape, setHideInPortrait, setIgnorePointerEvents, setInitialized, setInlineAllStyles, setInlineDisabledStyles, setInlinePressedStyles, setInlineSelectedStyles, setInlineStylesTheme, setInlineUnselectedStyles, setIsScrollVisible, setLabelForComponent, setName, setNextFocusDown, setNextFocusLeft, setNextFocusRight, setNextFocusUp, setOpaque, setOwner, setPinchBlocksDragAndDrop, setPreferredH, setPreferredSize, setPreferredSizeStr, setPreferredTabIndex, setPreferredW, setPressedStyle, setPropertyValue, setRippleEffect, setRTL, setSameHeight, setSameSize, setSameWidth, setScrollAnimationSpeed, setScrollOpacityChangeSpeed, setScrollSize, setScrollVisible, setScrollX, setScrollY, setSelectCommandText, setSelectedStyle, setSize, setSmoothScrolling, setSnapToGrid, setTabIndex, setTactileTouch, setTensileDragEnabled, setTensileLength, setTooltip, setTraversable, setUIID, setUIID, setUnselectedStyle, setVisible, setWidth, setX, setY, shouldBlockSideSwipe, shouldBlockSideSwipeLeft, shouldBlockSideSwipeRight, shouldRenderComponentSelection, showNativeOverlay, startEditingAsync, stopEditing, stripMarginAndPadding, styleChanged, toImage, toString, unbindProperty, updateNativeOverlay, visibleBoundsContains
public static final int HORIZONTAL_SPLIT
public static final int VERTICAL_SPLIT
public SplitPane(SplitPane.Settings settings, Component topOrLeft, Component bottomOrRight)
settings
- The settings for the split pane (e.g. insets, styles, etc...).topOrLeft
- The component to place in the "top" (for vertical), or "left" (for horizontal).bottomOrRight
- The component to place in the "bottom" (for vertical) or "right" (for horizontal).public SplitPane(int orientation, Component topOrLeft, Component bottomOrRight, String minInset, String preferredInset, String maxInset)
orientation
- Either HORIZONTAL_SPLIT
or VERTICAL_SPLIT
topOrLeft
- The component to place in the "top" (for vertical), or "left" (for horizontal).bottomOrRight
- The component to place in the "bottom" (for vertical) or "right" (for horizontal).minInset
- The minimum allowable inset for the divider. The inset should be expressed as a string with both a value and a unit. E.g. "75%", "50mm", "200px".preferredInset
- The default preferred inset for the divider. The inset should be expressed as a string with both value and unit. E.g. "75%", "50mm", "20px".maxInset
- The maximum allowable inset for the divider. The inset should be expressed as a string with both a value and a unit. E.g. "75%", "50mm", "20px".public void changeInsets(String minInset, String preferredInset, String maxInset)
minInset
- The minimum inset. Can be expressed in pixels (px), millimetres (mm), or percent (%). E.g. "25%"preferredInset
- The preferred inset. Can be expressed in pixels (px), millimetres (mm), or percent (%). E.g. "25%"maxInset
- Can be expressed in pixels (px), millimetres (mm), or percent (%). E.g. "25%"public void setTop(Component cmp)
cmp
- The component to place on top.public void setLeft(Component cmp)
cmp
- The component to place on the left.public void setBottom(Component cmp)
cmp
- The component to place on the bottom.public Component getBottomOrRightComponent()
public Component getBottom()
public Component getRight()
public Component getTopOrLeftComponent()
public Component getTop()
public Component getLeft()
public void setRight(Component cmp)
cmp
- The component to place on the right.public void toggleCollapsePreferred()
public void toggleExpandPreferred()
public void expand()
public void expand(boolean force)
force
- If this is true, then it will only expand "all the way". It will skip the preferred position if it is
currently in collapsed state.public void collapse()
public void collapse(boolean force)
force
- True to force it to collapse to minimum position (skipping preferred position if it is in expanded state).public void setInset(String inset, boolean clamp)
inset
- clamp
- True to clamp the inset to prevent it from running off the page.public void setInset(String inset)
inset
- public void setPreferredInset(String inset)
inset
- The inset. E.g. "2mm", "25%", "200px".public String getPreferredInset()
public void setMinInset(String inset)
inset
- The inset. E.g. "2mm", "10%", "200px"public String getMinInset()
public void setMaxInset(String inset)
inset
- The inset. E.g. "2mm", "10%", "200px"public String getMaxInset()