Class MultiSplitPane

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class MultiSplitPane extends JPanel

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

See Also:
  • Constructor Details

    • MultiSplitPane

      public MultiSplitPane()
      Creates a MultiSplitPane with it's LayoutManager set to to an empty MultiSplitLayout.
  • Method Details

    • getMultiSplitLayout

      public final MultiSplitLayout getMultiSplitLayout()
      A convenience method that returns the layout manager cast to MutliSplitLayout.
      Returns:
      this MultiSplitPane's layout manager
      See Also:
    • 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:
    • 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:
    • 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

      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

      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 MultiSplitPane.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

      public void setDividerPainter(MultiSplitPane.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

      protected void paintChildren(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 JComponent
    • getAccessibleContext

      public AccessibleContext getAccessibleContext()
      Specified by:
      getAccessibleContext in interface Accessible
      Overrides:
      getAccessibleContext in class JPanel