# 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`
Modifier and Type
Method
Description
`boolean`
`contains(JComponent c, int x, int y)`
Returns `true` if the specified x,y location is contained within the look and feel's defined shape of the specified component.
`Accessible`
`getAccessibleChild(JComponent c, int i)`
Returns the `i`th `Accessible` child of the object.
`int`
`getAccessibleChildrenCount(JComponent c)`
Returns the number of accessible children in the object.
`int`
`getBaseline(JComponent c, int width, int height)`
Returns the baseline.
`Component.BaselineResizeBehavior`
`getBaselineResizeBehavior(JComponent c)`
Returns an enum indicating how the baseline of the component changes as the size changes.
`void`
`paint(Graphics g, JComponent c)`
Paints the specified component appropriately for the look and feel.
`void`
`update(Graphics g, JComponent c)`
Notifies this UI delegate that it is time to paint the specified component.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## 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