BasicSplitPaneUI (Java SE 25 & JDK 25)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicSplitPaneUI
Keywords: javax.swing.plaf.basic.BasicSplitPaneUI class

# Class BasicSplitPaneUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.SplitPaneUI
javax.swing.plaf.basic.BasicSplitPaneUI

Direct Known Subclasses:
  `MetalSplitPaneUI, SynthSplitPaneUI`

public class BasicSplitPaneUI extends SplitPaneUI
A Basic L&F implementation of the SplitPaneUI.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `BasicSplitPaneUI.BasicHorizontalLayoutManager`
  LayoutManager for JSplitPanes that have an orientation of HORIZONTAL_SPLIT.
  `class`
  `BasicSplitPaneUI.BasicVerticalLayoutManager`
  LayoutManager used for JSplitPanes with an orientation of VERTICAL_SPLIT.
  `class`
  `BasicSplitPaneUI.FocusHandler`
  Implementation of the FocusListener that the JSplitPane UI uses.
  `class`
  `BasicSplitPaneUI.KeyboardDownRightHandler`
  Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses.
  `class`
  `BasicSplitPaneUI.KeyboardEndHandler`
  Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses.
  `class`
  `BasicSplitPaneUI.KeyboardHomeHandler`
  Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses.
  `class`
  `BasicSplitPaneUI.KeyboardResizeToggleHandler`
  Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses.
  `class`
  `BasicSplitPaneUI.KeyboardUpLeftHandler`
  Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses.
  `class`
  `BasicSplitPaneUI.PropertyHandler`
  Implementation of the PropertyChangeListener that the JSplitPane UI uses.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `beginDragDividerLocation`
  Location of the divider when the dragging session began.
  `protected BasicSplitPaneDivider`
  `divider`
  Instance of the divider for this JSplitPane.
  `protected KeyStroke`
  `dividerResizeToggleKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected int`
  `dividerSize`
  The size of the divider while the dragging session is valid.
  `protected KeyStroke`
  `downKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected boolean`
  `draggingHW`
  Set to true in startDragging if any of the children (not including the nonContinuousLayoutDivider) are heavy weights.
  `protected KeyStroke`
  `endKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected FocusListener`
  `focusListener`
  Instance of the FocusListener for this JSplitPane.
  `protected KeyStroke`
  `homeKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected static int`
  `KEYBOARD_DIVIDER_MOVE_OFFSET`
  How far (relative) the divider does move when it is moved around by the cursor keys on the keyboard.
  `protected ActionListener`
  `keyboardDownRightListener`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `keyboardEndListener`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `keyboardHomeListener`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `keyboardResizeToggleListener`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `keyboardUpLeftListener`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected BasicSplitPaneUI.BasicHorizontalLayoutManager`
  `layoutManager`
  LayoutManager that is created and placed into the split pane.
  `protected KeyStroke`
  `leftKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected static final String`
  `NON_CONTINUOUS_DIVIDER`
  The divider used for non-continuous layout is added to the split pane with this object.
  `protected Component`
  `nonContinuousLayoutDivider`
  Instance for the shadow of the divider when non continuous layout is being used.
  `protected PropertyChangeListener`
  `propertyChangeListener`
  Instance of the PropertyChangeListener for this JSplitPane.
  `protected KeyStroke`
  `rightKey`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected JSplitPane`
  `splitPane`
  JSplitPane instance this instance is providing the look and feel for.
  `protected KeyStroke`
  `upKey`
  Deprecated.
  As of Java 2 platform v1.3.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicSplitPaneUI()`
  Constructs a `BasicSplitPaneUI`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BasicSplitPaneDivider`
  `createDefaultDivider()`
  Creates the default divider.
  `protected Component`
  `createDefaultNonContinuousLayoutDivider()`
  Returns the default non continuous layout divider, which is an instance of `Canvas` that fills in the background with dark gray.
  `protected FocusListener`
  `createFocusListener()`
  Creates a `FocusListener` for the `JSplitPane` UI.
  `protected ActionListener`
  `createKeyboardDownRightListener()`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `createKeyboardEndListener()`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `createKeyboardHomeListener()`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `createKeyboardResizeToggleListener()`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected ActionListener`
  `createKeyboardUpLeftListener()`
  Deprecated.
  As of Java 2 platform v1.3.
  `protected PropertyChangeListener`
  `createPropertyChangeListener()`
  Creates a `PropertyChangeListener` for the `JSplitPane` UI.
  `static ComponentUI`
  `createUI(JComponent x)`
  Creates a new instance of `BasicSplitPaneUI`.
  `protected void`
  `dragDividerTo(int location)`
  Messaged during a dragging session to move the divider to the passed in `location`.
  `protected void`
  `finishDraggingTo(int location)`
  Messaged to finish the dragging session.
  `void`
  `finishedPaintingChildren(JSplitPane sp, Graphics g)`
  Called when the specified split pane has finished painting its children.
  `BasicSplitPaneDivider`
  `getDivider()`
  Returns the divider between the top Components.
  `protected int`
  `getDividerBorderSize()`
  Deprecated.
  As of Java 2 platform v1.3, instead set the border on the divider.
  `int`
  `getDividerLocation(JSplitPane jc)`
  Returns the location of the divider, which may differ from what the splitpane thinks the location of the divider is.
  `Insets`
  `getInsets(JComponent jc)`
  Returns the insets.
  `int`
  `getLastDragLocation()`
  Returns the last drag location of the `JSplitPane`.
  `int`
  `getMaximumDividerLocation(JSplitPane jc)`
  Gets the maximum location of the divider.
  `Dimension`
  `getMaximumSize(JComponent jc)`
  Returns the maximum size for the passed in component, This is passed off to the current layout manager.
  `int`
  `getMinimumDividerLocation(JSplitPane jc)`
  Gets the minimum location of the divider.
  `Dimension`
  `getMinimumSize(JComponent jc)`
  Returns the minimum size for the passed in component, This is passed off to the current layout manager.
  `Component`
  `getNonContinuousLayoutDivider()`
  Returns the divider to use when the `JSplitPane` is configured to not continuously layout.
  `int`
  `getOrientation()`
  Returns the orientation for the `JSplitPane`.
  `Dimension`
  `getPreferredSize(JComponent jc)`
  Returns the preferred size for the passed in component, This is passed off to the current layout manager.
  `JSplitPane`
  `getSplitPane()`
  Returns the `JSplitPane` this instance is currently contained in.
  `protected void`
  `installDefaults()`
  Installs the UI defaults.
  `protected void`
  `installKeyboardActions()`
  Installs the keyboard actions for the UI.
  `protected void`
  `installListeners()`
  Installs the event listeners for the UI.
  `void`
  `installUI(JComponent c)`
  Installs the UI.
  `boolean`
  `isContinuousLayout()`
  Determines whether the `JSplitPane` is set to use a continuous layout.
  `protected void`
  `resetLayoutManager()`
  Resets the layout manager based on orientation and messages it with invalidateLayout to pull in appropriate Components.
  `void`
  `resetToPreferredSizes(JSplitPane jc)`
  Messaged to reset the preferred sizes.
  `void`
  `setContinuousLayout(boolean b)`
  Turn continuous layout on/off.
  `void`
  `setDividerLocation(JSplitPane jc, int location)`
  Sets the location of the divider to location.
  `void`
  `setLastDragLocation(int l)`
  Set the last drag location of the `JSplitPane`.
  `protected void`
  `setNonContinuousLayoutDivider(Component newDivider)`
  Sets the divider to use when the `JSplitPane` is configured to not continuously layout.
  `protected void`
  `setNonContinuousLayoutDivider(Component newDivider, boolean rememberSizes)`
  Sets the divider to use.
  `void`
  `setOrientation(int orientation)`
  Set the orientation for the `JSplitPane`.
  `protected void`
  `startDragging()`
  Should be messaged before the dragging session starts, resets lastDragLocation and dividerSize.
  `protected void`
  `uninstallDefaults()`
  Uninstalls the UI defaults.
  `protected void`
  `uninstallKeyboardActions()`
  Uninstalls the keyboard actions for the UI.
  `protected void`
  `uninstallListeners()`
  Uninstalls the event listeners for the UI.
  `void`
  `uninstallUI(JComponent c)`
  Uninstalls the UI.

  ### Methods declared in class ComponentUI

  `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update`

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### NON_CONTINUOUS_DIVIDER

    protected static final String NON_CONTINUOUS_DIVIDER
    The divider used for non-continuous layout is added to the split pane with this object.
    See Also:
      - Constant Field Values

  - ### KEYBOARD_DIVIDER_MOVE_OFFSET

    protected static int KEYBOARD_DIVIDER_MOVE_OFFSET
    How far (relative) the divider does move when it is moved around by the cursor keys on the keyboard.

  - ### splitPane

    protected JSplitPane splitPane
    JSplitPane instance this instance is providing the look and feel for.

  - ### layoutManager

    protected BasicSplitPaneUI.BasicHorizontalLayoutManager layoutManager
    LayoutManager that is created and placed into the split pane.

  - ### divider

    protected BasicSplitPaneDivider divider
    Instance of the divider for this JSplitPane.

  - ### propertyChangeListener

    protected PropertyChangeListener propertyChangeListener
    Instance of the PropertyChangeListener for this JSplitPane.

  - ### focusListener

    protected FocusListener focusListener
    Instance of the FocusListener for this JSplitPane.

  - ### dividerSize

    protected int dividerSize
    The size of the divider while the dragging session is valid.

  - ### nonContinuousLayoutDivider

    protected Component nonContinuousLayoutDivider
    Instance for the shadow of the divider when non continuous layout is being used.

  - ### draggingHW

    protected boolean draggingHW
    Set to true in startDragging if any of the children (not including the nonContinuousLayoutDivider) are heavy weights.

  - ### beginDragDividerLocation

    protected int beginDragDividerLocation
    Location of the divider when the dragging session began.

  - ### upKey

    @Deprecated protected KeyStroke upKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### downKey

    @Deprecated protected KeyStroke downKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### leftKey

    @Deprecated protected KeyStroke leftKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### rightKey

    @Deprecated protected KeyStroke rightKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### homeKey

    @Deprecated protected KeyStroke homeKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### endKey

    @Deprecated protected KeyStroke endKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### dividerResizeToggleKey

    @Deprecated protected KeyStroke dividerResizeToggleKey
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### keyboardUpLeftListener

    @Deprecated protected ActionListener keyboardUpLeftListener
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### keyboardDownRightListener

    @Deprecated protected ActionListener keyboardDownRightListener
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### keyboardHomeListener

    @Deprecated protected ActionListener keyboardHomeListener
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### keyboardEndListener

    @Deprecated protected ActionListener keyboardEndListener
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

  - ### keyboardResizeToggleListener

    @Deprecated protected ActionListener keyboardResizeToggleListener
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.

- ## Constructor Details

  - ### BasicSplitPaneUI

    public BasicSplitPaneUI()
    Constructs a `BasicSplitPaneUI`.

- ## Method Details

  - ### createUI

    public static ComponentUI createUI(JComponent x)
    Creates a new instance of `BasicSplitPaneUI`.
    Parameters:
      `x` - a component
    Returns:
      a new instance of `BasicSplitPaneUI`

  - ### installUI

    public void installUI(JComponent c)
    Installs the UI.
    Overrides:
      `installUI` in class `ComponentUI`
    Parameters:
      `c` - the component where this UI delegate is being installed
    See Also:
      - `ComponentUI.uninstallUI(JComponent)`
      - `JComponent.setUI(ComponentUI)`
      - `JComponent.updateUI()`

  - ### installDefaults

    protected void installDefaults()
    Installs the UI defaults.

  - ### installListeners

    protected void installListeners()
    Installs the event listeners for the UI.

  - ### installKeyboardActions

    protected void installKeyboardActions()
    Installs the keyboard actions for the UI.

  - ### uninstallUI

    public void uninstallUI(JComponent c)
    Uninstalls the UI.
    Overrides:
      `uninstallUI` in class `ComponentUI`
    Parameters:
      `c` - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    See Also:
      - `ComponentUI.installUI(JComponent)`
      - `JComponent.updateUI()`

  - ### uninstallDefaults

    protected void uninstallDefaults()
    Uninstalls the UI defaults.

  - ### uninstallListeners

    protected void uninstallListeners()
    Uninstalls the event listeners for the UI.

  - ### uninstallKeyboardActions

    protected void uninstallKeyboardActions()
    Uninstalls the keyboard actions for the UI.

  - ### createPropertyChangeListener

    protected PropertyChangeListener createPropertyChangeListener()
    Creates a `PropertyChangeListener` for the `JSplitPane` UI.
    Returns:
      an instance of `PropertyChangeListener`

  - ### createFocusListener

    protected FocusListener createFocusListener()
    Creates a `FocusListener` for the `JSplitPane` UI.
    Returns:
      an instance of `FocusListener`

  - ### createKeyboardUpLeftListener

    @Deprecated protected ActionListener createKeyboardUpLeftListener()
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an `Action` wrapping the `ActionListener`, and register that `Action` by overriding `installKeyboardActions` and placing the `Action` in the `SplitPane's ActionMap`. Please refer to the key bindings specification for further details.

    Creates an `ActionListener` for the `JSplitPane` UI that listens for specific key presses.

    Returns:
      an instance of `ActionListener`

  - ### createKeyboardDownRightListener

    @Deprecated protected ActionListener createKeyboardDownRightListener()
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an `Action` wrapping the `ActionListener`, and register that `Action` by overriding `installKeyboardActions` and placing the `Action` in the `SplitPane's ActionMap`. Please refer to the key bindings specification for further details.

    Creates an `ActionListener` for the `JSplitPane` UI that listens for specific key presses.

    Returns:
      an instance of `ActionListener`

  - ### createKeyboardHomeListener

    @Deprecated protected ActionListener createKeyboardHomeListener()
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an `Action` wrapping the `ActionListener`, and register that `Action` by overriding `installKeyboardActions` and placing the `Action` in the `SplitPane's ActionMap`. Please refer to the key bindings specification for further details.

    Creates an `ActionListener` for the `JSplitPane` UI that listens for specific key presses.

    Returns:
      an instance of `ActionListener`

  - ### createKeyboardEndListener

    @Deprecated protected ActionListener createKeyboardEndListener()
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an `Action` wrapping the `ActionListener`, and register that `Action` by overriding `installKeyboardActions` and placing the `Action` in the `SplitPane's ActionMap`. Please refer to the key bindings specification for further details.

    Creates an `ActionListener` for the `JSplitPane` UI that listens for specific key presses.

    Returns:
      an instance of `ActionListener`

  - ### createKeyboardResizeToggleListener

    @Deprecated protected ActionListener createKeyboardResizeToggleListener()
    Deprecated.
    As of Java 2 platform v1.3.
    As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an `Action` wrapping the `ActionListener`, and register that `Action` by overriding `installKeyboardActions` and placing the `Action` in the `SplitPane's ActionMap`. Please refer to the key bindings specification for further details.

    Creates an `ActionListener` for the `JSplitPane` UI that listens for specific key presses.

    Returns:
      an instance of `ActionListener`

  - ### getOrientation

    public int getOrientation()
    Returns the orientation for the `JSplitPane`.
    Returns:
      the orientation

  - ### setOrientation

    public void setOrientation(int orientation)
    Set the orientation for the `JSplitPane`.
    Parameters:
      `orientation` - the orientation

  - ### isContinuousLayout

    public boolean isContinuousLayout()
    Determines whether the `JSplitPane` is set to use a continuous layout.
    Returns:
      `true` if a continuous layout is set

  - ### setContinuousLayout

    public void setContinuousLayout(boolean b)
    Turn continuous layout on/off.
    Parameters:
      `b` - if `true` the continuous layout turns on

  - ### getLastDragLocation

    public int getLastDragLocation()
    Returns the last drag location of the `JSplitPane`.
    Returns:
      the last drag location

  - ### setLastDragLocation

    public void setLastDragLocation(int l)
    Set the last drag location of the `JSplitPane`.
    Parameters:
      `l` - the drag location

  - ### getDivider

    public BasicSplitPaneDivider getDivider()
    Returns the divider between the top Components.
    Returns:
      the divider between the top Components

  - ### createDefaultNonContinuousLayoutDivider

    protected Component createDefaultNonContinuousLayoutDivider()
    Returns the default non continuous layout divider, which is an instance of `Canvas` that fills in the background with dark gray.
    Returns:
      the default non continuous layout divider

  - ### setNonContinuousLayoutDivider

    protected void setNonContinuousLayoutDivider(Component newDivider)
    Sets the divider to use when the `JSplitPane` is configured to not continuously layout. This divider will only be used during a dragging session. It is recommended that the passed in component be a heavy weight.
    Parameters:
      `newDivider` - the new divider

  - ### setNonContinuousLayoutDivider

    protected void setNonContinuousLayoutDivider(Component newDivider, boolean rememberSizes)
    Sets the divider to use.
    Parameters:
      `newDivider` - the new divider
      `rememberSizes` - if `true` the pane size is remembered

  - ### getNonContinuousLayoutDivider

    public Component getNonContinuousLayoutDivider()
    Returns the divider to use when the `JSplitPane` is configured to not continuously layout. This divider will only be used during a dragging session.
    Returns:
      the divider

  - ### getSplitPane

    public JSplitPane getSplitPane()
    Returns the `JSplitPane` this instance is currently contained in.
    Returns:
      the instance of `JSplitPane`

  - ### createDefaultDivider

    public BasicSplitPaneDivider createDefaultDivider()
    Creates the default divider.
    Returns:
      the default divider

  - ### resetToPreferredSizes

    public void resetToPreferredSizes(JSplitPane jc)
    Messaged to reset the preferred sizes.
    Specified by:
      `resetToPreferredSizes` in class `SplitPaneUI`
    Parameters:
      `jc` - a `JSplitPane`

  - ### setDividerLocation

    public void setDividerLocation(JSplitPane jc, int location)
    Sets the location of the divider to location.
    Specified by:
      `setDividerLocation` in class `SplitPaneUI`
    Parameters:
      `jc` - a `JSplitPane`
      `location` - an integer specifying the location of the divider

  - ### getDividerLocation

    public int getDividerLocation(JSplitPane jc)
    Returns the location of the divider, which may differ from what the splitpane thinks the location of the divider is.
    Specified by:
      `getDividerLocation` in class `SplitPaneUI`
    Parameters:
      `jc` - a `JSplitPane`
    Returns:
      an integer specifying the location of the divider

  - ### getMinimumDividerLocation

    public int getMinimumDividerLocation(JSplitPane jc)
    Gets the minimum location of the divider.
    Specified by:
      `getMinimumDividerLocation` in class `SplitPaneUI`
    Parameters:
      `jc` - a `JSplitPane`
    Returns:
      and integer specifying the minimum location of the divider

  - ### getMaximumDividerLocation

    public int getMaximumDividerLocation(JSplitPane jc)
    Gets the maximum location of the divider.
    Specified by:
      `getMaximumDividerLocation` in class `SplitPaneUI`
    Parameters:
      `jc` - a `JSplitPane`
    Returns:
      an integer specifying the maximum location of the divider

  - ### finishedPaintingChildren

    public void finishedPaintingChildren(JSplitPane sp, Graphics g)
    Called when the specified split pane has finished painting its children.
    Specified by:
      `finishedPaintingChildren` in class `SplitPaneUI`
    Parameters:
      `sp` - a `JSplitPane`
      `g` - the `Graphics` context

  - ### getPreferredSize

    public Dimension getPreferredSize(JComponent jc)
    Returns the preferred size for the passed in component, This is passed off to the current layout manager.
    Overrides:
      `getPreferredSize` in class `ComponentUI`
    Parameters:
      `jc` - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    Returns:
      a `Dimension` object containing given component's preferred size appropriate for the look and feel
    See Also:
      - `JComponent.getPreferredSize()`
      - `LayoutManager.preferredLayoutSize(Container)`

  - ### getMinimumSize

    public Dimension getMinimumSize(JComponent jc)
    Returns the minimum size for the passed in component, This is passed off to the current layout manager.
    Overrides:
      `getMinimumSize` in class `ComponentUI`
    Parameters:
      `jc` - the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    Returns:
      a `Dimension` object or `null`
    See Also:
      - `JComponent.getMinimumSize()`
      - `LayoutManager.minimumLayoutSize(Container)`
      - `ComponentUI.getPreferredSize(JComponent)`

  - ### getMaximumSize

    public Dimension getMaximumSize(JComponent jc)
    Returns the maximum size for the passed in component, This is passed off to the current layout manager.
    Overrides:
      `getMaximumSize` in class `ComponentUI`
    Parameters:
      `jc` - the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    Returns:
      a `Dimension` object or `null`
    See Also:
      - `JComponent.getMaximumSize()`
      - `LayoutManager2.maximumLayoutSize(Container)`

  - ### getInsets

    public Insets getInsets(JComponent jc)
    Returns the insets. The insets are returned from the border insets of the current border.
    Parameters:
      `jc` - a component
    Returns:
      the insets

  - ### resetLayoutManager

    protected void resetLayoutManager()
    Resets the layout manager based on orientation and messages it with invalidateLayout to pull in appropriate Components.

  - ### startDragging

    protected void startDragging()
    Should be messaged before the dragging session starts, resets lastDragLocation and dividerSize.

  - ### dragDividerTo

    protected void dragDividerTo(int location)
    Messaged during a dragging session to move the divider to the passed in `location`. If `continuousLayout` is `true` the location is reset and the splitPane validated.
    Parameters:
      `location` - the location of divider

  - ### finishDraggingTo

    protected void finishDraggingTo(int location)
    Messaged to finish the dragging session. If not continuous display the dividers `location` will be reset.
    Parameters:
      `location` - the location of divider

  - ### getDividerBorderSize

    @Deprecated protected int getDividerBorderSize()
    Deprecated.
    As of Java 2 platform v1.3, instead set the border on the divider.
    As of Java 2 platform v1.3 this method is no longer used. Instead you should set the border on the divider.

    Returns the width of one side of the divider border.

    Returns:
      the width of one side of the divider border