Class JXMultiSplitPane
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Author:
- Hans Muller, Luan O'Carroll
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
static class
Draws a single Divider.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a MultiSplitPane with it's LayoutManager set to to an empty MultiSplitLayout.JXMultiSplitPane
(MultiSplitLayout layout) Creates a MultiSplitPane. -
Method Summary
Modifier and TypeMethodDescriptionReturns the Divider that's currently being moved, typically because the user is dragging it, or null.Painter<? super JComponent>
The DividerPainter that's used to paint Dividers on this MultiSplitPane.final int
A convenience method that returns the MultiSplitLayout dividerSize property.protected Dimension
Set the maximum node size.protected Dimension
Set the minimum node size.final MultiSplitLayout
A convenience method that returns the layout manager cast to MutliSplitLayout.boolean
Returns true if dragging a divider only updates the layout when the drag gesture ends (typically, when the mouse button is released).boolean
protected void
Uses the DividerPainter (if any) to paint each Divider that overlaps the clip Rectangle.protected void
Calls the UI delegate's paint method, if the UI delegate is non-null
.void
setBackgroundPainter
(Painter<? super JComponent> p) Specifies a Painter to use to paint the background of this JXPanel.void
setContinuousLayout
(boolean continuousLayout) Sets the value of thecontinuousLayout
property.void
setDividerPainter
(JXMultiSplitPane.DividerPainter dividerPainter) Sets the DividerPainter that's used to paint Dividers on this MultiSplitPane.final void
setDividerSize
(int dividerSize) A convenience method that sets the MultiSplitLayout dividerSize property.final void
setModel
(MultiSplitLayout.Node model) A convenience method that sets the MultiSplitLayout model.void
setPaintBorderInsets
(boolean paintBorderInsets) Methods inherited from class javax.swing.JPanel
getUI, getUIClassID, paramString, setUI, updateUI
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, 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, addImpl, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
JXMultiSplitPane
public JXMultiSplitPane()Creates a MultiSplitPane with it's LayoutManager set to to an empty MultiSplitLayout. -
JXMultiSplitPane
Creates a MultiSplitPane.- Parameters:
layout
- the new split pane's layout
-
-
Method Details
-
getMultiSplitLayout
A convenience method that returns the layout manager cast to MutliSplitLayout.- Returns:
- this MultiSplitPane's layout manager
- See Also:
-
setModel
A convenience method that sets the MultiSplitLayout model. Equivalent togetMultiSplitLayout.setModel(model)
- Parameters:
model
- the root of the MultiSplitLayout model- See Also:
-
setDividerSize
public final void setDividerSize(int dividerSize) A convenience method that sets the MultiSplitLayout dividerSize property. Equivalent togetMultiSplitLayout().setDividerSize(newDividerSize)
.- Parameters:
dividerSize
- the value of the dividerSize property- See Also:
-
getDividerSize
public final int getDividerSize()A convenience method that returns the MultiSplitLayout dividerSize property. Equivalent togetMultiSplitLayout().getDividerSize()
.- Returns:
- dividerSize
- See Also:
-
setContinuousLayout
public void setContinuousLayout(boolean continuousLayout) Sets the value of thecontinuousLayout
property. If true, then the layout is revalidated continuously while a divider is being moved. The default value of this property is true.- Parameters:
continuousLayout
- value of the continuousLayout property- See Also:
-
isContinuousLayout
public boolean isContinuousLayout()Returns true if dragging a divider only updates the layout when the drag gesture ends (typically, when the mouse button is released).- Returns:
- the value of the
continuousLayout
property - See Also:
-
activeDivider
Returns the Divider that's currently being moved, typically because the user is dragging it, or null.- Returns:
- the Divider that's being moved or null.
-
getDividerPainter
The DividerPainter that's used to paint Dividers on this MultiSplitPane. This property may be null.- Returns:
- the value of the dividerPainter Property
- See Also:
-
setDividerPainter
Sets the DividerPainter that's used to paint Dividers on this MultiSplitPane. The default DividerPainter only draws the activeDivider (if there is one) and then, only if continuousLayout is false. The value of this property is used by the paintChildren method: Dividers are painted after the MultiSplitPane's children have been rendered so that the activeDivider can appear "on top of" the children.- Parameters:
dividerPainter
- the value of the dividerPainter property, can be null- See Also:
-
paintComponent
Calls the UI delegate's paint method, if the UI delegate is non-null
. We pass the delegate a copy of theGraphics
object to protect the rest of the paint code from irrevocable changes (for example,Graphics.translate
).If you override this in a subclass you should not make permanent changes to the passed in
Graphics
. For example, you should not alter the clipRectangle
or modify the transform. If you need to do these operations you may find it easier to create a newGraphics
from the passed inGraphics
and manipulate it. Further, if you do not invoker super's implementation you must honor the opaque property, that is if this component is opaque, you must completely fill in the background in a non-opaque color. If you do not honor the opaque property you will likely see visual artifacts.The passed in
Graphics
object might have a transform other than the identify transform installed on it. In this case, you might get unexpected results if you cumulatively apply another transform.- Overrides:
paintComponent
in classJComponent
- Parameters:
g
- theGraphics
object to protect- See Also:
-
setBackgroundPainter
Specifies a Painter to use to paint the background of this JXPanel. Ifp
is not null, then setOpaque(false) will be called as a side effect. A component should not be opaque if painters are being used, because Painters may paint transparent pixels or not paint certain pixels, such as around the border insets. -
getBackgroundPainter
-
isPaintBorderInsets
public boolean isPaintBorderInsets() -
setPaintBorderInsets
public void setPaintBorderInsets(boolean paintBorderInsets) -
paintChildren
Uses the DividerPainter (if any) to paint each Divider that overlaps the clip Rectangle. This is done after the call tosuper.paintChildren()
so that Dividers can be rendered "on top of" the children.- Overrides:
paintChildren
in classJComponent
-
getMaxNodeSize
Set the maximum node size. This method can be overridden to limit the size of a node during a drag operation on a divider. When implementing this method in a subclass the node instance should be checked, for example:class MyMultiSplitPane extends JXMultiSplitPane { protected Dimension getMaxNodeSize( MultiSplitLayout msl, Node n ) { if (( n instanceof Leaf ) && ((Leaf)n).getName().equals( "top" )) return msl.maximumNodeSize( n ); return null; } }
- Parameters:
msl
- the MultiSplitLayout used by this panen
- the node being resized- Returns:
- the maximum size or null (by default) to ignore the maximum size.
-
getMinNodeSize
Set the minimum node size. This method can be overridden to limit the size of a node during a drag operation on a divider.- Parameters:
msl
- the MultiSplitLayout used by this panen
- the node being resized- Returns:
- the maximum size or null (by default) to ignore the maximum size.
-
getAccessibleContext
- Specified by:
getAccessibleContext
in interfaceAccessible
- Overrides:
getAccessibleContext
in classJPanel
-