javax.swing.plaf.basic
Class BasicSplitPaneDivider.DragController

java.lang.Object
  extended byjavax.swing.plaf.basic.BasicSplitPaneDivider.DragController
Direct Known Subclasses:
BasicSplitPaneDivider.VerticalDragController
Enclosing class:
BasicSplitPaneDivider

protected class BasicSplitPaneDivider.DragController
extends Object

Handles the events during a dragging session for a HORIZONTAL_SPLIT oriented split pane. This continually messages dragDividerTo and then when done messages finishDraggingTo. When an instance is created it should be messaged with isValid to insure that dragging can happen (dragging won't be allowed if the two views can not be resized).

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.


Field Summary
(package private)  int initialX
          Initial location of the divider.
(package private)  int maxX
          Maximum and minimum positions to drag to.
(package private)  int minX
          Maximum and minimum positions to drag to.
(package private)  int offset
          Initial location the mouse down happened at.
 
Constructor Summary
protected BasicSplitPaneDivider.DragController(MouseEvent e)
           
 
Method Summary
protected  void completeDrag(int x, int y)
           
protected  void completeDrag(MouseEvent e)
          Messages finishDraggingTo with the new location for the mouse event.
protected  void continueDrag(int newX, int newY)
           
protected  void continueDrag(MouseEvent e)
          Messages dragDividerTo with the new location for the mouse event.
protected  int getNeededLocation(int x, int y)
          Returns the x argument, since this is used for horizontal splits.
protected  boolean isValid()
          Returns true if the dragging session is valid.
protected  int positionForMouseEvent(MouseEvent e)
          Returns the new position to put the divider at based on the passed in MouseEvent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

initialX

int initialX
Initial location of the divider.


maxX

int maxX
Maximum and minimum positions to drag to.


minX

int minX
Maximum and minimum positions to drag to.


offset

int offset
Initial location the mouse down happened at.

Constructor Detail

BasicSplitPaneDivider.DragController

protected BasicSplitPaneDivider.DragController(MouseEvent e)
Method Detail

isValid

protected boolean isValid()
Returns true if the dragging session is valid.


positionForMouseEvent

protected int positionForMouseEvent(MouseEvent e)
Returns the new position to put the divider at based on the passed in MouseEvent.


getNeededLocation

protected int getNeededLocation(int x,
                                int y)
Returns the x argument, since this is used for horizontal splits.


continueDrag

protected void continueDrag(int newX,
                            int newY)

continueDrag

protected void continueDrag(MouseEvent e)
Messages dragDividerTo with the new location for the mouse event.


completeDrag

protected void completeDrag(int x,
                            int y)

completeDrag

protected void completeDrag(MouseEvent e)
Messages finishDraggingTo with the new location for the mouse event.