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:
    Serialized Form
    • Constructor Detail

      • 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.
        Parameters:
        source - the source of the event. Can be null.
        target - the target of the event. 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​(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.
        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 Detail

      • 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 MouseEvent
        Returns:
        the event type