Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx
Class JXMultiSplitPane

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      org.jdesktop.swingx.JXMultiSplitPane

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class JXMultiSplitPane

extends javax.swing.JPanel

All properties in this class are bound: when a properties value is changed, all PropertyChangeListeners are fired.

Author:
  Hans Muller, Luan O'Carroll
See Also:
  Serialized Form

Nested Class Summary
`protected class` | `JXMultiSplitPane.AccessibleMultiSplitPane`
`static class` | `JXMultiSplitPane.DividerPainter` Draws a single Divider.

Nested classes/interfaces inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes/interfaces inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes/interfaces inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes/interfaces inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.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
`JXMultiSplitPane()` Creates a MultiSplitPane with it's LayoutManager set to to an empty MultiSplitLayout.
`JXMultiSplitPane(MultiSplitLayout layout)` Creates a MultiSplitPane.

Method Summary
`MultiSplitLayout.Divider` | `activeDivider()` Returns the Divider that's currently being moved, typically because the user is dragging it, or null.
`javax.accessibility.AccessibleContext` | `getAccessibleContext()`
`Painter` | `getBackgroundPainter()`
`JXMultiSplitPane.DividerPainter` | `getDividerPainter()` The DividerPainter that's used to paint Dividers on this MultiSplitPane.
`int` | `getDividerSize()` A convenience method that returns the MultiSplitLayout dividerSize property.
`protected java.awt.Dimension` | `getMaxNodeSize(MultiSplitLayout msl, MultiSplitLayout.Node n)` Set the maximum node size.
`protected java.awt.Dimension` | `getMinNodeSize(MultiSplitLayout msl, MultiSplitLayout.Node n)` Set the minimum node size.
`MultiSplitLayout` | `getMultiSplitLayout()` A convenience method that returns the layout manager cast to MutliSplitLayout.
`boolean` | `isContinuousLayout()` Returns true if dragging a divider only updates the layout when the drag gesture ends (typically, when the mouse button is released).
`protected void` | `paintChildren(java.awt.Graphics g)` Uses the DividerPainter (if any) to paint each Divider that overlaps the clip Rectangle.
`protected void` | `paintComponent(java.awt.Graphics g)` Calls the UI delegate's paint method, if the UI delegate is non-`null`.
`void` | `setBackgroundPainter(Painter p)` Specifies a Painter to use to paint the background of this JXPanel.
`void` | `setContinuousLayout(boolean continuousLayout)` Sets the value of the `continuousLayout` property.
`void` | `setDividerPainter(JXMultiSplitPane.DividerPainter dividerPainter)` Sets the DividerPainter that's used to paint Dividers on this MultiSplitPane.
`void` | `setDividerSize(int dividerSize)` A convenience method that sets the MultiSplitLayout dividerSize property.
`void` | `setModel(MultiSplitLayout.Node model)` A convenience method that sets the MultiSplitLayout model.

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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JXMultiSplitPane

    public JXMultiSplitPane()

  Creates a MultiSplitPane with it's LayoutManager set to to an empty MultiSplitLayout.

### JXMultiSplitPane

    public JXMultiSplitPane(MultiSplitLayout layout)

  Creates a MultiSplitPane.

  Parameters:
    `layout` - the new split pane's layout

Method Detail

### getMultiSplitLayout

    public final MultiSplitLayout getMultiSplitLayout()

  A convenience method that returns the layout manager cast to MutliSplitLayout.

  Returns:
    this MultiSplitPane's layout manager
  See Also:
    `Container.getLayout()`, `setModel(org.jdesktop.swingx.MultiSplitLayout.Node)`

### setModel

    public final void setModel(MultiSplitLayout.Node model)

  A convenience method that sets the MultiSplitLayout model. Equivalent to `getMultiSplitLayout.setModel(model)`

  Parameters:
    `model` - the root of the MultiSplitLayout model
  See Also:
    `getMultiSplitLayout()`, `MultiSplitLayout.setModel(org.jdesktop.swingx.MultiSplitLayout.Node)`

### setDividerSize

    public final void setDividerSize(int dividerSize)

  A convenience method that sets the MultiSplitLayout dividerSize property. Equivalent to `getMultiSplitLayout().setDividerSize(newDividerSize)`.

  Parameters:
    `dividerSize` - the value of the dividerSize property
  See Also:
    `getMultiSplitLayout()`, `MultiSplitLayout.setDividerSize(int)`

### getDividerSize

    public final int getDividerSize()

  A convenience method that returns the MultiSplitLayout dividerSize property. Equivalent to `getMultiSplitLayout().getDividerSize()`.

  See Also:
    `getMultiSplitLayout()`, `MultiSplitLayout.getDividerSize()`

### setContinuousLayout

    public void setContinuousLayout(boolean continuousLayout)

  Sets the value of the `continuousLayout` 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()`

### 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:
    `setContinuousLayout(boolean)`

### activeDivider

    public MultiSplitLayout.Divider 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

    public JXMultiSplitPane.DividerPainter 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(org.jdesktop.swingx.JXMultiSplitPane.DividerPainter)`

### setDividerPainter

    public void setDividerPainter(JXMultiSplitPane.DividerPainter dividerPainter)

  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:
    `paintChildren(java.awt.Graphics)`, `activeDivider()`

### paintComponent

    protected void paintComponent(java.awt.Graphics g)

  Calls the UI delegate's paint method, if the UI delegate is non-`null`. We pass the delegate a copy of the `Graphics` 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 clip `Rectangle` or modify the transform. If you need to do these operations you may find it easier to create a new `Graphics` from the passed in `Graphics` 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 class `javax.swing.JComponent`
  Parameters:
    `g` - the `Graphics` object to protect
  See Also:
    `JComponent.paint(Graphics)`, `ComponentUI`

### setBackgroundPainter

    public void setBackgroundPainter(Painter p)

  Specifies a Painter to use to paint the background of this JXPanel. If `p` 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

    public Painter getBackgroundPainter()

### paintChildren

    protected void paintChildren(java.awt.Graphics g)

  Uses the DividerPainter (if any) to paint each Divider that overlaps the clip Rectangle. This is done after the call to `super.paintChildren()` so that Dividers can be rendered "on top of" the children.

  Overrides:
    `paintChildren` in class `javax.swing.JComponent`

### getMaxNodeSize

    protected java.awt.Dimension getMaxNodeSize(MultiSplitLayout msl,
                                                MultiSplitLayout.Node n)

  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 pane
    `n` - the node being resized
  Returns:
    the maximum size or null (by default) to ignore the maximum size.

### getMinNodeSize

    protected java.awt.Dimension getMinNodeSize(MultiSplitLayout msl,
                                                MultiSplitLayout.Node n)

  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 pane
    `n` - the node being resized
  Returns:
    the maximum size or null (by default) to ignore the maximum size.

### getAccessibleContext

    public javax.accessibility.AccessibleContext getAccessibleContext()

  Specified by:
    `getAccessibleContext` in interface `javax.accessibility.Accessible`
  Overrides:
    `getAccessibleContext` in class `javax.swing.JPanel`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.