Class MouseDragEvent

All Implemented Interfaces:
Serializable, Cloneable

public final class MouseDragEvent extends MouseEvent
Mouse drag events are delivered to potential gesture targets during full press-drag-release gestures. The difference among different gesture types is described at MouseEvent.

Full press-drag-release gesture can be started by calling startFullDrag() (on a node or scene) inside of a DRAG_DETECTED event handler. This call activates delivering of MouseDragEvents to the nodes that are under cursor during the dragging gesture.

When you drag a node, it's still under cursor, so it is considered being a potential gesture target during the whole gesture. If you need to drag a node to a different node and let the other node know about it, you need to ensure that the nodes under the dragged node are picked as the potential gesture targets. You can achieve this by calling setMouseTransparent(true) on the dragged node in a MOUSE_PRESSED handler and returning it back to false in a MOUSE_RELEASED handler. This way the nodes under the dragged node will receive the MouseDragEvents, while all the MouseEvents will still be delivered to the (currently mouse transparent) gesture source.

The entered/exited events behave similarly to mouse entered/exited events, please see MouseEvent overview.

Since:
JavaFX 2.1
See Also:
  • Field Details

  • Constructor Details

    • MouseDragEvent

      public MouseDragEvent(Object source, EventTarget target, EventType<MouseDragEvent> eventType, double x, double y, double screenX, double screenY, MouseButton button, int clickCount, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean primaryButtonDown, boolean middleButtonDown, boolean secondaryButtonDown, boolean synthesized, boolean popupTrigger, PickResult pickResult, Object gestureSource)
      Constructs new MouseDragEvent event. Both MouseEvent.isBackButtonDown() and MouseEvent.isForwardButtonDown() will return false for this event
      Parameters:
      source - the source of the event, which can be null
      target - the target of the event, which can be null
      eventType - The type of the event
      x - The x with respect to the scene
      y - The y with respect to the scene
      screenX - The x coordinate relative to screen
      screenY - The y coordinate relative to screen
      button - the mouse button used
      clickCount - number of click counts
      shiftDown - true if shift modifier was pressed
      controlDown - true if control modifier was pressed
      altDown - true if alt modifier was pressed
      metaDown - true if meta modifier was pressed
      primaryButtonDown - true if primary button was pressed
      middleButtonDown - true if middle button was pressed
      secondaryButtonDown - true if secondary button was pressed
      synthesized - if this event was synthesized
      popupTrigger - whether this event denotes a popup trigger for current platform
      pickResult - pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates and target
      gestureSource - source object of the ongoing gesture
      Since:
      JavaFX 8.0
    • MouseDragEvent

      public MouseDragEvent(Object source, EventTarget target, EventType<MouseDragEvent> eventType, double x, double y, double screenX, double screenY, MouseButton button, int clickCount, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean primaryButtonDown, boolean middleButtonDown, boolean secondaryButtonDown, boolean backButtonDown, boolean forwardButtonDown, boolean synthesized, boolean popupTrigger, PickResult pickResult, Object gestureSource)
      Constructs new MouseDragEvent event.
      Parameters:
      source - the source of the event, which can be null
      target - the target of the event, which can be null
      eventType - The type of the event
      x - The x with respect to the scene
      y - The y with respect to the scene
      screenX - The x coordinate relative to screen
      screenY - The y coordinate relative to screen
      button - the mouse button used
      clickCount - number of click counts
      shiftDown - true if shift modifier was pressed
      controlDown - true if control modifier was pressed
      altDown - true if alt modifier was pressed
      metaDown - true if meta modifier was pressed
      primaryButtonDown - true if primary button was pressed
      middleButtonDown - true if middle button was pressed
      secondaryButtonDown - true if secondary button was pressed
      backButtonDown - true if back button was pressed
      forwardButtonDown - true if forward button was pressed
      synthesized - if this event was synthesized
      popupTrigger - whether this event denotes a popup trigger for current platform
      pickResult - pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates and target
      gestureSource - source object of the ongoing gesture
      Since:
      12
    • MouseDragEvent

      public MouseDragEvent(EventType<MouseDragEvent> eventType, double x, double y, double screenX, double screenY, MouseButton button, int clickCount, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean primaryButtonDown, boolean middleButtonDown, boolean secondaryButtonDown, boolean synthesized, boolean popupTrigger, PickResult pickResult, Object gestureSource)
      Constructs new MouseDragEvent event with null source and target. Both MouseEvent.isBackButtonDown() and MouseEvent.isForwardButtonDown() will return false for this event.
      Parameters:
      eventType - The type of the event
      x - The x with respect to the scene
      y - The y with respect to the scene
      screenX - The x coordinate relative to screen
      screenY - The y coordinate relative to screen
      button - the mouse button used
      clickCount - number of click counts
      shiftDown - true if shift modifier was pressed
      controlDown - true if control modifier was pressed
      altDown - true if alt modifier was pressed
      metaDown - true if meta modifier was pressed
      primaryButtonDown - true if primary button was pressed
      middleButtonDown - true if middle button was pressed
      secondaryButtonDown - true if secondary button was pressed
      synthesized - if this event was synthesized
      popupTrigger - whether this event denotes a popup trigger for current platform
      pickResult - pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates
      gestureSource - source object of the ongoing gesture
      Since:
      JavaFX 8.0
  • Method Details

    • getGestureSource

      public Object getGestureSource()
      Returns the source object of the ongoing gesture. Gesture source is the object that started the full press-drag-release gesture (by startFullDrag method being called on it).
      Returns:
      The source object of the gesture.
    • toString

      public String toString()
      Returns a string representation of this MouseDragEvent object.
      Overrides:
      toString in class MouseEvent
      Returns:
      a string representation of this MouseDragEvent object.
    • copyFor

      public MouseDragEvent copyFor(Object newSource, EventTarget newTarget)
      Description copied from class: MouseEvent
      Copies this event for a different source and target. In most cases you don't need to use this method, it's called automatically when you fire the event.
      Overrides:
      copyFor in class MouseEvent
      Parameters:
      newSource - New event source
      newTarget - New event target
      Returns:
      copy of this event for a different source and target
    • copyFor

      public MouseDragEvent copyFor(Object newSource, EventTarget newTarget, EventType<? extends MouseEvent> type)
      Description copied from class: MouseEvent
      Creates a copy of the given event with the given fields substituted.
      Overrides:
      copyFor in class MouseEvent
      Parameters:
      newSource - the new source of the copied event
      newTarget - the new target of the copied event
      type - the new eventType
      Returns:
      the event copy with the fields substituted
    • getEventType

      public EventType<MouseDragEvent> getEventType()
      Description copied from class: Event
      Gets the event type of this event. Objects of the same Event class can have different event types. These event types further specify what kind of event occurred.
      Overrides:
      getEventType in class Event
      Returns:
      the event type