BasicSplitPaneUI (Java SE 12 & JDK 12 )
Keywords: javax.swing.plaf.basic.BasicSplitPaneUI class

Module java.desktop
Package javax.swing.plaf.basic

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

  - ### 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 javax.swing.plaf.ComponentUI

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

    - ### Methods declared in class java.lang.Object

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

- - ### Field Detail

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

    - #### BasicSplitPaneUI

          public BasicSplitPaneUI()

  - ### Method Detail

    - #### 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(javax.swing.JComponent)`, `JComponent.setUI(javax.swing.plaf.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(javax.swing.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(java.awt.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(java.awt.Container)`, `ComponentUI.getPreferredSize(javax.swing.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(java.awt.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