javax.swing.plaf.basic
Class BasicSplitPaneUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.SplitPaneUI
          extended by javax.swing.plaf.basic.BasicSplitPaneUI
Direct Known Subclasses:
MetalSplitPaneUI

public class BasicSplitPaneUI
extends SplitPaneUI

This is the Basic Look and Feel implementation of the SplitPaneUI class.


Nested Class Summary
 class BasicSplitPaneUI.BasicHorizontalLayoutManager
          This Layout Manager controls the position and size of the components when the JSplitPane's orientation is HORIZONTAL_SPLIT.
 class BasicSplitPaneUI.BasicVerticalLayoutManager
          This class is the Layout Manager for the JSplitPane when the orientation is VERTICAL_SPLIT.
 class BasicSplitPaneUI.FocusHandler
          This class handles FocusEvents from the JComponent.
 class BasicSplitPaneUI.KeyboardDownRightHandler
          This is a deprecated class.
 class BasicSplitPaneUI.KeyboardEndHandler
          This is a deprecated class.
 class BasicSplitPaneUI.KeyboardHomeHandler
          This is a deprecated class.
 class BasicSplitPaneUI.KeyboardResizeToggleHandler
          This is a deprecated class.
 class BasicSplitPaneUI.KeyboardUpLeftHandler
          This is a deprecated class.
 class BasicSplitPaneUI.PropertyHandler
          This helper class handles PropertyChangeEvents from the JSplitPane.
 
Field Summary
protected  int beginDragDividerLocation
          The location of the divider when dragging began.
protected  BasicSplitPaneDivider divider
          The divider that divides this JSplitPane.
protected  KeyStroke dividerResizeToggleKey
          Deprecated. The divider resize toggle key.
protected  int dividerSize
          The size of the divider while dragging.
protected  KeyStroke downKey
          Deprecated. The down key.
protected  boolean draggingHW
          Set to true when dragging heavy weight components.
protected  KeyStroke endKey
          Deprecated. The end key.
protected  FocusListener focusListener
          The JSplitPane's focus handler.
protected  KeyStroke homeKey
          Deprecated. The home key.
protected static int KEYBOARD_DIVIDER_MOVE_OFFSET
          The distance the divider is moved when moved by keyboard actions.
protected  ActionListener keyboardDownRightListener
          Deprecated. The handler for down and right key presses.
protected  ActionListener keyboardEndListener
          Deprecated. The handler for end key presses.
protected  ActionListener keyboardHomeListener
          Deprecated. The handler for home key presses.
protected  ActionListener keyboardResizeToggleListener
          Deprecated. The handler for toggling resizes.
protected  ActionListener keyboardUpLeftListener
          Deprecated. The handler for up and left key presses.
protected  BasicSplitPaneUI.BasicHorizontalLayoutManager layoutManager
          The JSplitPane's current layout manager.
protected  KeyStroke leftKey
          Deprecated. The left key.
protected static String NON_CONTINUOUS_DIVIDER
          The constraints object used when adding the non-continuous divider to the JSplitPane.
protected  Component nonContinuousLayoutDivider
          The dark divider used when dragging in non-continuous layout mode.
protected  PropertyChangeListener propertyChangeListener
          The listener that listens for PropertyChangeEvents from the JSplitPane.
protected  KeyStroke rightKey
          Deprecated. The right key.
protected  JSplitPane splitPane
          The JSplitPane that this UI draws.
protected  KeyStroke upKey
          Deprecated. The up key.
 
Constructor Summary
BasicSplitPaneUI()
          Creates a new BasicSplitPaneUI object.
 
Method Summary
 BasicSplitPaneDivider createDefaultDivider()
          This method creates the divider used normally with the JSplitPane.
protected  Component createDefaultNonContinuousLayoutDivider()
          This method creates a nonContinuousLayoutDivider for use with the JSplitPane in nonContinousLayout mode.
protected  FocusListener createFocusListener()
          This method creates a new FocusListener.
protected  ActionListener createKeyboardDownRightListener()
          Deprecated. 1.3
protected  ActionListener createKeyboardEndListener()
          Deprecated. 1.3
protected  ActionListener createKeyboardHomeListener()
          Deprecated.  
protected  ActionListener createKeyboardResizeToggleListener()
          Deprecated. 1.3
protected  ActionListener createKeyboardUpLeftListener()
          Deprecated. 1.3
protected  PropertyChangeListener createPropertyChangeListener()
          This method creates a new PropertyChangeListener.
static ComponentUI createUI(JComponent x)
          This method creates a new BasicSplitPaneUI for the given JComponent.
protected  void dragDividerTo(int location)
          This method is called whenever the divider is dragged.
protected  void finishDraggingTo(int location)
          This method is called when the dragging is finished.
 void finishedPaintingChildren(JSplitPane jc, Graphics g)
          This method is called after the children of the JSplitPane are painted.
 BasicSplitPaneDivider getDivider()
          This method returns the BasicSplitPaneDivider that divides this JSplitPane.
protected  int getDividerBorderSize()
          Deprecated. 1.3
 int getDividerLocation(JSplitPane jc)
          This method returns the location of the divider.
 Insets getInsets(JComponent jc)
          This method returns the border insets of the current border.
 int getLastDragLocation()
          This method returns the last location the divider was dragged to.
 int getMaximumDividerLocation(JSplitPane jc)
          This method returns the largest value possible for the location of the divider.
 Dimension getMaximumSize(JComponent jc)
          This method returns the maximum size of the JSplitPane.
 int getMinimumDividerLocation(JSplitPane jc)
          This method returns the smallest value possible for the location of the divider.
 Dimension getMinimumSize(JComponent jc)
          This method returns the minimum size of the JSplitPane.
 Component getNonContinuousLayoutDivider()
          This method returns the nonContinuousLayoutDivider.
 int getOrientation()
          This method returns the orientation of the JSplitPane.
 Dimension getPreferredSize(JComponent jc)
          This method returns the preferred size of the JSplitPane.
 JSplitPane getSplitPane()
          This method returns the JSplitPane that this BasicSplitPaneUI draws.
protected  void installDefaults()
          This method installs the defaults given by the Look and Feel.
protected  void installKeyboardActions()
          Installs any keyboard actions.
protected  void installListeners()
          This method installs the listeners needed for this UI to function.
 void installUI(JComponent c)
          This method installs the BasicSplitPaneUI for the given JComponent.
 boolean isContinuousLayout()
          This method returns true if the JSplitPane is using continuous layout.
 void paint(Graphics g, JComponent jc)
          This method is called to paint the JSplitPane.
protected  void resetLayoutManager()
          This method resets the current layout manager.
 void resetToPreferredSizes(JSplitPane jc)
          This method is called when JSplitPane's resetToPreferredSizes is called.
 void setContinuousLayout(boolean b)
          This method sets the continuous layout property of the JSplitPane.
 void setDividerLocation(JSplitPane jc, int location)
          This method sets the location of the divider.
 void setLastDragLocation(int l)
          This method sets the last location the divider was dragged to.
protected  void setNonContinuousLayoutDivider(Component newDivider)
          This method sets the component to use as the nonContinuousLayoutDivider.
protected  void setNonContinuousLayoutDivider(Component newDivider, boolean rememberSizes)
          This method sets the component to use as the nonContinuousLayoutDivider.
 void setOrientation(int orientation)
          This method sets the orientation of the JSplitPane.
protected  void startDragging()
          This method is called when dragging starts.
protected  void uninstallDefaults()
          This method uninstalls the defaults and nulls any objects created during install.
protected  void uninstallKeyboardActions()
          This method reverses the work done in installKeyboardActions.
protected  void uninstallListeners()
          This method uninstalls all listeners registered for the UI.
 void uninstallUI(JComponent c)
          This method uninstalls the BasicSplitPaneUI for the given JComponent.
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

beginDragDividerLocation

protected int beginDragDividerLocation
The location of the divider when dragging began.


dividerSize

protected int dividerSize
The size of the divider while dragging.


KEYBOARD_DIVIDER_MOVE_OFFSET

protected static int KEYBOARD_DIVIDER_MOVE_OFFSET
The distance the divider is moved when moved by keyboard actions.


divider

protected BasicSplitPaneDivider divider
The divider that divides this JSplitPane.


propertyChangeListener

protected PropertyChangeListener propertyChangeListener
The listener that listens for PropertyChangeEvents from the JSplitPane.


focusListener

protected FocusListener focusListener
The JSplitPane's focus handler.


keyboardDownRightListener

protected ActionListener keyboardDownRightListener
Deprecated. The handler for down and right key presses.

keyboardEndListener

protected ActionListener keyboardEndListener
Deprecated. The handler for end key presses.

keyboardHomeListener

protected ActionListener keyboardHomeListener
Deprecated. The handler for home key presses.

keyboardResizeToggleListener

protected ActionListener keyboardResizeToggleListener
Deprecated. The handler for toggling resizes.

keyboardUpLeftListener

protected ActionListener keyboardUpLeftListener
Deprecated. The handler for up and left key presses.

layoutManager

protected BasicSplitPaneUI.BasicHorizontalLayoutManager layoutManager
The JSplitPane's current layout manager.


dividerResizeToggleKey

protected KeyStroke dividerResizeToggleKey
Deprecated. The divider resize toggle key.

downKey

protected KeyStroke downKey
Deprecated. The down key.

endKey

protected KeyStroke endKey
Deprecated. The end key.

homeKey

protected KeyStroke homeKey
Deprecated. The home key.

leftKey

protected KeyStroke leftKey
Deprecated. The left key.

rightKey

protected KeyStroke rightKey
Deprecated. The right key.

upKey

protected KeyStroke upKey
Deprecated. The up key.

draggingHW

protected boolean draggingHW
Set to true when dragging heavy weight components.


NON_CONTINUOUS_DIVIDER

protected static final String NON_CONTINUOUS_DIVIDER
The constraints object used when adding the non-continuous divider to the JSplitPane.

See Also:
Constant Field Values

nonContinuousLayoutDivider

protected Component nonContinuousLayoutDivider
The dark divider used when dragging in non-continuous layout mode.


splitPane

protected JSplitPane splitPane
The JSplitPane that this UI draws.

Constructor Detail

BasicSplitPaneUI

public BasicSplitPaneUI()
Creates a new BasicSplitPaneUI object.

Method Detail

createUI

public static ComponentUI createUI(JComponent x)
This method creates a new BasicSplitPaneUI for the given JComponent.

Parameters:
x - The JComponent to create a UI for.
Returns:
A new BasicSplitPaneUI.

installUI

public void installUI(JComponent c)
This method installs the BasicSplitPaneUI for the given JComponent.

Overrides:
installUI in class ComponentUI
Parameters:
c - The JComponent to install the UI for.
See Also:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
This method uninstalls the BasicSplitPaneUI for the given JComponent.

Overrides:
uninstallUI in class ComponentUI
Parameters:
c - The JComponent to uninstall the UI for.
See Also:
ComponentUI.installUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

installDefaults

protected void installDefaults()
This method installs the defaults given by the Look and Feel.


uninstallDefaults

protected void uninstallDefaults()
This method uninstalls the defaults and nulls any objects created during install.


installListeners

protected void installListeners()
This method installs the listeners needed for this UI to function.


uninstallListeners

protected void uninstallListeners()
This method uninstalls all listeners registered for the UI.


installKeyboardActions

protected void installKeyboardActions()
Installs any keyboard actions. The list of keys that need to be bound are listed in Basic look and feel's defaults.


uninstallKeyboardActions

protected void uninstallKeyboardActions()
This method reverses the work done in installKeyboardActions.


createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
This method creates a new PropertyChangeListener.

Returns:
A new PropertyChangeListener.

createFocusListener

protected FocusListener createFocusListener()
This method creates a new FocusListener.

Returns:
A new FocusListener.

createKeyboardUpLeftListener

protected ActionListener createKeyboardUpLeftListener()
Deprecated. 1.3

This method creates a new ActionListener for up and left key presses.

Returns:
A new ActionListener for up and left keys.

createKeyboardDownRightListener

protected ActionListener createKeyboardDownRightListener()
Deprecated. 1.3

This method creates a new ActionListener for down and right key presses.

Returns:
A new ActionListener for down and right keys.

createKeyboardHomeListener

protected ActionListener createKeyboardHomeListener()
Deprecated. 

This method creates a new ActionListener for home key presses.

Returns:
A new ActionListener for home keys.

createKeyboardEndListener

protected ActionListener createKeyboardEndListener()
Deprecated. 1.3

This method creates a new ActionListener for end key presses.i

Returns:
A new ActionListener for end keys.

createKeyboardResizeToggleListener

protected ActionListener createKeyboardResizeToggleListener()
Deprecated. 1.3

This method creates a new ActionListener for resize toggle key events.

Returns:
A new ActionListener for resize toggle keys.

getOrientation

public int getOrientation()
This method returns the orientation of the JSplitPane.

Returns:
The orientation of the JSplitPane.

setOrientation

public void setOrientation(int orientation)
This method sets the orientation of the JSplitPane.

Parameters:
orientation - The new orientation of the JSplitPane.

isContinuousLayout

public boolean isContinuousLayout()
This method returns true if the JSplitPane is using continuous layout.

Returns:
True if the JSplitPane is using continuous layout.

setContinuousLayout

public void setContinuousLayout(boolean b)
This method sets the continuous layout property of the JSplitPane.

Parameters:
b - True if the JsplitPane is to use continuous layout.

getLastDragLocation

public int getLastDragLocation()
This method returns the last location the divider was dragged to.

Returns:
The last location the divider was dragged to.

setLastDragLocation

public void setLastDragLocation(int l)
This method sets the last location the divider was dragged to.

Parameters:
l - The last location the divider was dragged to.

getDivider

public BasicSplitPaneDivider getDivider()
This method returns the BasicSplitPaneDivider that divides this JSplitPane.

Returns:
The divider for the JSplitPane.

createDefaultNonContinuousLayoutDivider

protected Component createDefaultNonContinuousLayoutDivider()
This method creates a nonContinuousLayoutDivider for use with the JSplitPane in nonContinousLayout mode. The default divider is a gray Canvas.

Returns:
The default nonContinousLayoutDivider.

setNonContinuousLayoutDivider

protected void setNonContinuousLayoutDivider(Component newDivider)
This method sets the component to use as the nonContinuousLayoutDivider.

Parameters:
newDivider - The component to use as the nonContinuousLayoutDivider.

setNonContinuousLayoutDivider

protected void setNonContinuousLayoutDivider(Component newDivider,
                                             boolean rememberSizes)
This method sets the component to use as the nonContinuousLayoutDivider.

Parameters:
newDivider - The component to use as the nonContinuousLayoutDivider.
rememberSizes - FIXME: document.

getNonContinuousLayoutDivider

public Component getNonContinuousLayoutDivider()
This method returns the nonContinuousLayoutDivider.

Returns:
The nonContinuousLayoutDivider.

getSplitPane

public JSplitPane getSplitPane()
This method returns the JSplitPane that this BasicSplitPaneUI draws.

Returns:
The JSplitPane.

createDefaultDivider

public BasicSplitPaneDivider createDefaultDivider()
This method creates the divider used normally with the JSplitPane.

Returns:
The default divider.

resetToPreferredSizes

public void resetToPreferredSizes(JSplitPane jc)
This method is called when JSplitPane's resetToPreferredSizes is called. It resets the sizes of all components in the JSplitPane.

Specified by:
resetToPreferredSizes in class SplitPaneUI
Parameters:
jc - The JSplitPane to reset.

setDividerLocation

public void setDividerLocation(JSplitPane jc,
                               int location)
This method sets the location of the divider.

Specified by:
setDividerLocation in class SplitPaneUI
Parameters:
jc - The JSplitPane to set the divider location in.
location - The new location of the divider.

getDividerLocation

public int getDividerLocation(JSplitPane jc)
This method returns the location of the divider.

Specified by:
getDividerLocation in class SplitPaneUI
Parameters:
jc - The JSplitPane to retrieve the location for.
Returns:
The location of the divider.

getMinimumDividerLocation

public int getMinimumDividerLocation(JSplitPane jc)
This method returns the smallest value possible for the location of the divider.

Specified by:
getMinimumDividerLocation in class SplitPaneUI
Parameters:
jc - The JSplitPane.
Returns:
The minimum divider location.

getMaximumDividerLocation

public int getMaximumDividerLocation(JSplitPane jc)
This method returns the largest value possible for the location of the divider.

Specified by:
getMaximumDividerLocation in class SplitPaneUI
Parameters:
jc - The JSplitPane.
Returns:
The maximum divider location.

finishedPaintingChildren

public void finishedPaintingChildren(JSplitPane jc,
                                     Graphics g)
This method is called after the children of the JSplitPane are painted.

Specified by:
finishedPaintingChildren in class SplitPaneUI
Parameters:
jc - The JSplitPane.
g - The Graphics object to paint with.

paint

public void paint(Graphics g,
                  JComponent jc)
This method is called to paint the JSplitPane.

Overrides:
paint in class ComponentUI
Parameters:
g - The Graphics object to paint with.
jc - The JSplitPane to paint.

getPreferredSize

public Dimension getPreferredSize(JComponent jc)
This method returns the preferred size of the JSplitPane.

Overrides:
getPreferredSize in class ComponentUI
Parameters:
jc - The JSplitPane.
Returns:
The preferred size of the JSplitPane.

getMinimumSize

public Dimension getMinimumSize(JComponent jc)
This method returns the minimum size of the JSplitPane.

Overrides:
getMinimumSize in class ComponentUI
Parameters:
jc - The JSplitPane.
Returns:
The minimum size of the JSplitPane.

getMaximumSize

public Dimension getMaximumSize(JComponent jc)
This method returns the maximum size of the JSplitPane.

Overrides:
getMaximumSize in class ComponentUI
Parameters:
jc - The JSplitPane.
Returns:
The maximum size of the JSplitPane.

getInsets

public Insets getInsets(JComponent jc)
This method returns the border insets of the current border.

Parameters:
jc - The JSplitPane.
Returns:
The current border insets.

resetLayoutManager

protected void resetLayoutManager()
This method resets the current layout manager. The type of layout manager is dependent on the current orientation.


startDragging

protected void startDragging()
This method is called when dragging starts. It resets lastDragLocation and dividerSize.


dragDividerTo

protected void dragDividerTo(int location)
This method is called whenever the divider is dragged. If the JSplitPane is in continuousLayout mode, the divider needs to be moved and the JSplitPane needs to be laid out.

Parameters:
location - The new location of the divider.

finishDraggingTo

protected void finishDraggingTo(int location)
This method is called when the dragging is finished.

Parameters:
location - The location where the drag finished.

getDividerBorderSize

protected int getDividerBorderSize()
Deprecated. 1.3

This method returns the width of one of the sides of the divider's border.

Returns:
The width of one side of the divider's border.