BasicSplitPaneDivider.VerticalDragController (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicSplitPaneDivider, class: VerticalDragController
Keywords: javax.swing.plaf.basic.BasicSplitPaneDivider.VerticalDragController class

# Class BasicSplitPaneDivider.VerticalDragController

java.lang.Object
javax.swing.plaf.basic.BasicSplitPaneDivider.DragController
javax.swing.plaf.basic.BasicSplitPaneDivider.VerticalDragController

Enclosing class:
  `BasicSplitPaneDivider`

protected class BasicSplitPaneDivider.VerticalDragController extends BasicSplitPaneDivider.DragController
Handles the events during a dragging session for a VERTICAL_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).

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `VerticalDragController(MouseEvent e)`
  Constructs a new instance of `VerticalDragController`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `getNeededLocation(int x, int y)`
  Returns the y argument, since this is used for vertical splits.
  `protected int`
  `positionForMouseEvent(MouseEvent e)`
  Returns the new position to put the divider at based on the passed in MouseEvent.

  ### Methods declared in class BasicSplitPaneDivider.DragController

  `completeDrag, completeDrag, continueDrag, continueDrag, isValid`
  Modifier and Type
  Method
  Description
  `protected void`
  `completeDrag(int x, int y)`
  Messages finishDraggingTo with the new location for the mouse event.
  `protected void`
  `completeDrag(MouseEvent e)`
  Messages finishDraggingTo with the new location for the mouse event.
  `protected void`
  `continueDrag(int newX, int newY)`
  Messages dragDividerTo with the new location for the mouse event.
  `protected void`
  `continueDrag(MouseEvent e)`
  Messages dragDividerTo with the new location for the mouse event.
  `protected boolean`
  `isValid()`
  Returns `true` if the dragging session is valid.

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

- ## Constructor Details

  - ### VerticalDragController

    protected VerticalDragController(MouseEvent e)
    Constructs a new instance of `VerticalDragController`.
    Parameters:
      `e` - a mouse event

- ## Method Details

  - ### getNeededLocation

    protected int getNeededLocation(int x, int y)
    Returns the y argument, since this is used for vertical splits.
    Overrides:
      `getNeededLocation` in class `BasicSplitPaneDivider.DragController`
    Parameters:
      `x` - an X coordinate
      `y` - an Y coordinate
    Returns:
      the X argument

  - ### positionForMouseEvent

    protected int positionForMouseEvent(MouseEvent e)
    Returns the new position to put the divider at based on the passed in MouseEvent.
    Overrides:
      `positionForMouseEvent` in class `BasicSplitPaneDivider.DragController`
    Parameters:
      `e` - a mouse event
    Returns:
      the new position