- java.lang.Object
-
- java.util.EventObject
-
- javafx.event.Event
-
- javafx.scene.input.InputEvent
-
- javafx.scene.input.MouseEvent
-
- javafx.scene.input.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 atMouseEvent
.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 ofMouseDragEvent
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 aMOUSE_PRESSED
handler and returning it back to false in aMOUSE_RELEASED
handler. This way the nodes under the dragged node will receive theMouseDragEvent
s, while all theMouseEvent
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 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
All Methods Instance Methods Concrete Methods 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, isControlDown, isDragDetect, isMetaDown, isMiddleButtonDown, isPopupTrigger, isPrimaryButtonDown, isSecondaryButtonDown, isShiftDown, isShortcutDown, isStillSincePress, isSynthesized, setDragDetect
-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
Field Detail
-
ANY
public static final EventType<MouseDragEvent> ANY
Common supertype for all mouse event types.
-
MOUSE_DRAG_OVER
public static final EventType<MouseDragEvent> MOUSE_DRAG_OVER
This event occurs when the gesture progresses within this node.
-
MOUSE_DRAG_RELEASED
public static final EventType<MouseDragEvent> MOUSE_DRAG_RELEASED
This event occurs when the gesture ends (by releasing mouse button) on this node.
-
MOUSE_DRAG_ENTERED_TARGET
public static final EventType<MouseDragEvent> 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
public static final EventType<MouseDragEvent> 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
public static final EventType<MouseDragEvent> 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
public static final EventType<MouseDragEvent> 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 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 usedclickCount
- number of click countsshiftDown
- 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 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(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 usedclickCount
- number of click countsshiftDown
- 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 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 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 (bystartFullDrag
method being called on it).- Returns:
- The source object of the gesture.
-
toString
public String toString()
Returns a string representation of thisMouseDragEvent
object.- Overrides:
toString
in classMouseEvent
- 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 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
public EventType<MouseDragEvent> 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
-
-