- All Implemented Interfaces:
Serializable
,Cloneable
public final class MouseDragEvent extends MouseEvent
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 MouseDragEvent
s
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 MouseDragEvent
s, while all the
MouseEvent
s 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
-
Field Summary
Fields Modifier and Type Field Description static EventType<MouseDragEvent>
ANY
Common supertype for all mouse event types.static EventType<MouseDragEvent>
MOUSE_DRAG_ENTERED
This event occurs when the gesture enters a node.static EventType<MouseDragEvent>
MOUSE_DRAG_ENTERED_TARGET
This event occurs when the gesture enters a node.static EventType<MouseDragEvent>
MOUSE_DRAG_EXITED
This event occurs when the gesture exits a node.static EventType<MouseDragEvent>
MOUSE_DRAG_EXITED_TARGET
This event occurs when the gesture exits a node.static EventType<MouseDragEvent>
MOUSE_DRAG_OVER
This event occurs when the gesture progresses within this node.static EventType<MouseDragEvent>
MOUSE_DRAG_RELEASED
This event occurs when the gesture ends (by releasing mouse button) on this node.Fields inherited from class javafx.scene.input.MouseEvent
DRAG_DETECTED, MOUSE_CLICKED, MOUSE_DRAGGED, MOUSE_ENTERED, MOUSE_ENTERED_TARGET, MOUSE_EXITED, MOUSE_EXITED_TARGET, MOUSE_MOVED, MOUSE_PRESSED, MOUSE_RELEASED
Fields inherited from class javafx.event.Event
consumed, eventType, NULL_SOURCE_TARGET, target
Fields inherited from class java.util.EventObject
source
-
Constructor Summary
Constructors Constructor Description 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.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.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. -
Method Summary
Modifier and Type Method Description MouseDragEvent
copyFor(Object newSource, EventTarget newTarget)
Copies this event for a different source and target.MouseDragEvent
copyFor(Object newSource, EventTarget newTarget, EventType<? extends MouseEvent> type)
Creates a copy of the given event with the given fields substituted.EventType<MouseDragEvent>
getEventType()
Gets the event type of this event.Object
getGestureSource()
Returns the source object of the ongoing gesture.String
toString()
Returns a string representation of thisMouseDragEvent
object.Methods inherited from class javafx.scene.input.MouseEvent
copyForMouseDragEvent, getButton, getClickCount, getPickResult, getSceneX, getSceneY, getScreenX, getScreenY, getX, getY, getZ, isAltDown, isBackButtonDown, isControlDown, isDragDetect, isForwardButtonDown, isMetaDown, isMiddleButtonDown, isPopupTrigger, isPrimaryButtonDown, isSecondaryButtonDown, isShiftDown, isShortcutDown, isStillSincePress, isSynthesized, setDragDetect
Methods inherited from class java.util.EventObject
getSource
-
Field Details
-
ANY
Common supertype for all mouse event types. -
MOUSE_DRAG_OVER
This event occurs when the gesture progresses within this node. -
MOUSE_DRAG_RELEASED
This event occurs when the gesture ends (by releasing mouse button) on this node. -
MOUSE_DRAG_ENTERED_TARGET
This event occurs when the gesture enters a node. It's the bubbling variant, which is delivered also to all parents of the entered node (unless it was consumed). When notifications about mouse entering some of node's children are not desired,MOUSE_DRAG_ENTERED
event handler should be used. -
MOUSE_DRAG_ENTERED
This event occurs when the gesture enters a node. This event type is delivered only to the entered node, if parents want to filter it or get the bubbling event, they need to useMOUSE_DRAG_ENTERED_TARGET
. -
MOUSE_DRAG_EXITED_TARGET
This event occurs when the gesture exits a node. It's the bubbling variant, which is delivered also to all parents of the exited node (unless it was consumed). When notifications about mouse exiting some of node's children are not desired,MOUSE_DRAG_EXITED
event handler should be used. -
MOUSE_DRAG_EXITED
This event occurs when the gesture exits a node. This event type is delivered only to the exited node, if parents want to filter it or get the bubbling event, they need to useMOUSE_DRAG_EXITED_TARGET
.
-
-
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. BothMouseEvent.isBackButtonDown()
andMouseEvent.isForwardButtonDown()
will return false for this event- Parameters:
source
- the source of the event, which can benull
target
- the target of the event, which can benull
eventType
- The type of the eventx
- The x with respect to the sceney
- The y with respect to the scenescreenX
- The x coordinate relative to screenscreenY
- The y coordinate relative to screenbutton
- the mouse button usedclickCount
- number of click countsshiftDown
- true if shift modifier was pressedcontrolDown
- true if control modifier was pressedaltDown
- true if alt modifier was pressedmetaDown
- true if meta modifier was pressedprimaryButtonDown
- true if primary button was pressedmiddleButtonDown
- true if middle button was pressedsecondaryButtonDown
- true if secondary button was pressedsynthesized
- if this event was synthesizedpopupTrigger
- whether this event denotes a popup trigger for current platformpickResult
- pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates and targetgestureSource
- 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 benull
target
- the target of the event, which can benull
eventType
- The type of the eventx
- The x with respect to the sceney
- The y with respect to the scenescreenX
- The x coordinate relative to screenscreenY
- The y coordinate relative to screenbutton
- the mouse button usedclickCount
- number of click countsshiftDown
- true if shift modifier was pressedcontrolDown
- true if control modifier was pressedaltDown
- true if alt modifier was pressedmetaDown
- true if meta modifier was pressedprimaryButtonDown
- true if primary button was pressedmiddleButtonDown
- true if middle button was pressedsecondaryButtonDown
- true if secondary button was pressedbackButtonDown
- true if back button was pressedforwardButtonDown
- true if forward button was pressedsynthesized
- if this event was synthesizedpopupTrigger
- whether this event denotes a popup trigger for current platformpickResult
- pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates and targetgestureSource
- 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. BothMouseEvent.isBackButtonDown()
andMouseEvent.isForwardButtonDown()
will return false for this event.- Parameters:
eventType
- The type of the eventx
- The x with respect to the sceney
- The y with respect to the scenescreenX
- The x coordinate relative to screenscreenY
- The y coordinate relative to screenbutton
- the mouse button usedclickCount
- number of click countsshiftDown
- true if shift modifier was pressedcontrolDown
- true if control modifier was pressedaltDown
- true if alt modifier was pressedmetaDown
- true if meta modifier was pressedprimaryButtonDown
- true if primary button was pressedmiddleButtonDown
- true if middle button was pressedsecondaryButtonDown
- true if secondary button was pressedsynthesized
- if this event was synthesizedpopupTrigger
- whether this event denotes a popup trigger for current platformpickResult
- pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinatesgestureSource
- source object of the ongoing gesture- Since:
- JavaFX 8.0
-
-
Method Details
-
getGestureSource
Returns the source object of the ongoing gesture. Gesture source is the object that started the full press-drag-release gesture (bystartFullDrag
method being called on it).- Returns:
- The source object of the gesture.
-
toString
Returns a string representation of thisMouseDragEvent
object.- Overrides:
toString
in classMouseEvent
- Returns:
- a string representation of this
MouseDragEvent
object.
-
copyFor
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 classMouseEvent
- Parameters:
newSource
- New event sourcenewTarget
- 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 classMouseEvent
- Parameters:
newSource
- the new source of the copied eventnewTarget
- the new target of the copied eventtype
- the new eventType- Returns:
- the event copy with the fields substituted
-
getEventType
Description copied from class:Event
Gets the event type of this event. Objects of the sameEvent
class can have different event types. These event types further specify what kind of event occurred.- Overrides:
getEventType
in classMouseEvent
- Returns:
- the event type
-