public class

BasicSplitPaneDivider

extends Container
implements PropertyChangeListener
java.lang.Object
   ↳ java.awt.Component
     ↳ java.awt.Container
       ↳ javax.swing.plaf.basic.BasicSplitPaneDivider
Known Direct Subclasses

Class Overview

Divider used by BasicSplitPaneUI. Subclassers may wish to override paint to do something more interesting. The border effect is drawn in BasicSplitPaneUI, so if you don't like that border, reset it there. To conditionally drag from certain areas subclass mousePressed and call super when you wish the dragging to begin.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Summary

Nested Classes
class BasicSplitPaneDivider.DividerLayout Used to layout a BasicSplitPaneDivider
class BasicSplitPaneDivider.DragController Handles the events during a dragging session for a HORIZONTAL_SPLIT oriented split pane. 
class BasicSplitPaneDivider.MouseHandler MouseHandler is responsible for converting mouse events (released, dragged...) into the appropriate DragController methods. 
class BasicSplitPaneDivider.VerticalDragController Handles the events during a dragging session for a VERTICAL_SPLIT oriented split pane. 
Constants
int ONE_TOUCH_OFFSET
int ONE_TOUCH_SIZE Width or height of the divider based on orientation BasicSplitPaneUI adds two to this.
[Expand]
Inherited Constants
From class java.awt.Component
From interface java.awt.image.ImageObserver
Fields
protected int dividerSize Size of the divider.
protected BasicSplitPaneDivider.DragController dragger Handles mouse dragging message to do the actual dragging.
protected Component hiddenDivider Divider that is used for noncontinuous layout mode.
protected JButton leftButton Button for quickly toggling the left component.
protected BasicSplitPaneDivider.MouseHandler mouseHandler Handles mouse events from both this class, and the split pane.
protected int orientation Orientation of the JSplitPane.
protected JButton rightButton Button for quickly toggling the right component.
protected JSplitPane splitPane JSplitPane the receiver is contained in.
protected BasicSplitPaneUI splitPaneUI UI this instance was created from.
Public Constructors
BasicSplitPaneDivider(BasicSplitPaneUI ui)
Creates an instance of BasicSplitPaneDivider.
Public Methods
BasicSplitPaneUI getBasicSplitPaneUI()
Returns the SplitPaneUI the receiver is currently in.
Border getBorder()
Returns the border of this component or null if no border is currently set.
int getDividerSize()
Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.
Insets getInsets()
If a border has been set on this component, returns the border's insets, else calls super.getInsets.
Dimension getMinimumSize()
Returns dividerSize x dividerSize
Dimension getPreferredSize()
Returns dividerSize x dividerSize
boolean isMouseOver()
Returns whether or not the mouse is currently over the divider
void paint(Graphics g)
Paints the divider.
void propertyChange(PropertyChangeEvent e)
Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.
void setBasicSplitPaneUI(BasicSplitPaneUI newUI)
Sets the SplitPaneUI that is using the receiver.
void setBorder(Border border)
Sets the border of this component.
void setDividerSize(int newSize)
Sets the size of the divider to newSize.
Protected Methods
JButton createLeftOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the left component in the split pane.
JButton createRightOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the right component in the split pane.
void dragDividerTo(int location)
Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.
void finishDraggingTo(int location)
Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.
void oneTouchExpandableChanged()
Messaged when the oneTouchExpandable value of the JSplitPane the receiver is contained in changes.
void prepareForDragging()
Message to prepare for dragging.
void setMouseOver(boolean mouseOver)
Sets whether or not the mouse is currently over the divider.
[Expand]
Inherited Methods
From class java.awt.Container
From class java.awt.Component
From class java.lang.Object
From interface java.awt.MenuContainer
From interface java.awt.image.ImageObserver
From interface java.beans.PropertyChangeListener

Constants

protected static final int ONE_TOUCH_OFFSET

Constant Value: 2 (0x00000002)

protected static final int ONE_TOUCH_SIZE

Width or height of the divider based on orientation BasicSplitPaneUI adds two to this.

Constant Value: 6 (0x00000006)

Fields

protected int dividerSize

Size of the divider.

protected BasicSplitPaneDivider.DragController dragger

Handles mouse dragging message to do the actual dragging.

protected Component hiddenDivider

Divider that is used for noncontinuous layout mode.

protected JButton leftButton

Button for quickly toggling the left component.

protected BasicSplitPaneDivider.MouseHandler mouseHandler

Handles mouse events from both this class, and the split pane. Mouse events are handled for the splitpane since you want to be able to drag when clicking on the border of the divider, which is not drawn by the divider.

protected int orientation

Orientation of the JSplitPane.

protected JButton rightButton

Button for quickly toggling the right component.

protected JSplitPane splitPane

JSplitPane the receiver is contained in.

protected BasicSplitPaneUI splitPaneUI

UI this instance was created from.

Public Constructors

public BasicSplitPaneDivider (BasicSplitPaneUI ui)

Creates an instance of BasicSplitPaneDivider. Registers this instance for mouse events and mouse dragged events.

Public Methods

public BasicSplitPaneUI getBasicSplitPaneUI ()

Returns the SplitPaneUI the receiver is currently in.

public Border getBorder ()

Returns the border of this component or null if no border is currently set.

Returns
  • the border object for this component

public int getDividerSize ()

Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.

public Insets getInsets ()

If a border has been set on this component, returns the border's insets, else calls super.getInsets.

Returns
  • the value of the insets property.

public Dimension getMinimumSize ()

Returns dividerSize x dividerSize

Returns
  • an instance of Dimension that represents the minimum size of this container.

public Dimension getPreferredSize ()

Returns dividerSize x dividerSize

Returns
  • an instance of Dimension that represents the preferred size of this container.

public boolean isMouseOver ()

Returns whether or not the mouse is currently over the divider

Returns
  • whether or not the mouse is currently over the divider

public void paint (Graphics g)

Paints the divider.

Parameters
g the specified Graphics window

public void propertyChange (PropertyChangeEvent e)

Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.

Parameters
e A PropertyChangeEvent object describing the event source and the property that has changed.

public void setBasicSplitPaneUI (BasicSplitPaneUI newUI)

Sets the SplitPaneUI that is using the receiver.

public void setBorder (Border border)

Sets the border of this component.

public void setDividerSize (int newSize)

Sets the size of the divider to newSize. That is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.

Protected Methods

protected JButton createLeftOneTouchButton ()

Creates and return an instance of JButton that can be used to collapse the left component in the split pane.

protected JButton createRightOneTouchButton ()

Creates and return an instance of JButton that can be used to collapse the right component in the split pane.

protected void dragDividerTo (int location)

Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.

protected void finishDraggingTo (int location)

Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.

protected void oneTouchExpandableChanged ()

Messaged when the oneTouchExpandable value of the JSplitPane the receiver is contained in changes. Will create the leftButton and rightButton if they are null. invalidates the receiver as well.

protected void prepareForDragging ()

Message to prepare for dragging. This messages the BasicSplitPaneUI with startDragging.

protected void setMouseOver (boolean mouseOver)

Sets whether or not the mouse is currently over the divider.

Parameters
mouseOver whether or not the mouse is currently over the divider