Classes used in drag-and-drop operations
You use the following classes to implement the drag-and-drop operation:
| Class | Function |
|---|---|
| Manages the drag-and-drop operations; for example, its doDrag() method starts the drag operation. | |
| Contains the data being dragged. It also provides additional drag management features, such as the ability to add a handler that is called when data is requested. | |
| Represents the event object for all drag-and-drop events. |
A component that acts as a drag initiator handles the following events to manage the drag-and-drop operation:
mouseDown and mouseMove,
dragStart
dragComplete.
The mouseDown event is dispatched when the user selects a control with the mouse and holds down the mouse button. The mouseMove event is dispatched when the mouse moves.
dragStart event is Dispatched by a list-based component when a drag operation starts. This event is used internally by the list-based controls; you do not handle it when implementing drag and drop.
dragComplete event is dispatched when a drag operation completes, either when the drag data drops onto a drop target, or when the drag-and-drop operation ends without performing a drop operation.
You can use this event to perform any final cleanup of the drag-and-drop operation.
Drag-and-drop events for a drop target
To use a component as a drop target, you handle the following events:
dragEnter event :Dispatched when a drag proxy moves over the drop target from outside the drop target.
A component must define an event handler for this event to be a drop target. The event handler determines whether the data being dragged is in an accepted format. To accept the drop, the event handler calls the DragManager.acceptDragDrop() method. You must call the DragManager.acceptDragDrop() method for the drop target to receive the dragOver, dragExit, and dragDrop events.
In the handler, you can change the appearance of the drop target to provide visual feedback to the user that the component can accept the drag operation. For example, you can draw a border around the drop target, or give focus to the drop target.
dragOver event is :
Dispatched while the user moves the mouse over the target, after the dragEnter event.
You can handle this event to perform additional logic before allowing the drop operation, such as dropping data to various locations within the drop target, reading keyboard input to determine if the drag-and-drop operation is a move or copy of the drag data, or providing different types of visual feedback based on the type of drag-and-drop operation.
dragDrop event is dispatched when the user releases the mouse over the drop target.
dragExit event is dispatched
when the user moves the drag proxy off of the drop target, but does not drop the data onto the target.
You can use this event to restore the drop target to its normal appearance if you modified its appearance in response to a dragEnter event or other event.
No comments:
Post a Comment