- 所有超接口:
-
EventListener
- 所有已知实现类:
-
DropTarget
,DropTargetAdapter
DropTargetListener
接口是由DropTarget
类使用的回调接口,用于提供涉及主题DropTarget
的DnD操作的通知。可以实现此接口的方法以提供“拖动下方”视觉反馈,以便在整个拖放操作期间向用户提供反馈。
通过实现接口创建一个监听器对象,然后将其注册到DropTarget
中。当拖动进入、移动或退出该DropTarget
的可操作部分时,当拖放操作更改时,以及当发生拖放时,将调用监听器对象中的相关方法,并将DropTargetEvent
传递给它。
DropTarget
的可操作部分是关联Component
的几何形状的一部分,不被重叠的顶层窗口或由具有关联活动DropTarget
的Z顺序较高的另一个Component
所遮挡。
在拖动过程中,可以通过在传递给监听器方法的DropTargetDragEvent
实例上调用getTransferable()
来检索与当前拖动操作相关联的数据。
请注意,在DropTargetDragEvent
实例上调用getTransferable()
应仅在相应的监听器方法内调用,并且在该方法返回之前应从返回的Transferable
中检索所有必要的数据。
- 自 JDK 版本:
- 1.2
-
Method Summary
Modifier and TypeMethodDescriptionvoid
dragEnter
(DropTargetDragEvent dtde) 当拖动操作正在进行时调用,当鼠标指针进入已向此监听器注册的DropTarget
的可操作部分时。void
dragExit
(DropTargetEvent dte) 当拖动操作正在进行时调用,当鼠标指针已退出已向此监听器注册的DropTarget
的可操作部分时。void
dragOver
(DropTargetDragEvent dtde) 当拖动操作正在进行时调用,当鼠标指针仍位于已向此监听器注册的DropTarget
的可操作部分上方时。void
drop
(DropTargetDropEvent dtde) 当拖动操作以在已向此监听器注册的DropTarget
的可操作部分上进行放置而终止时调用。void
如果用户修改了当前的放置手势,则调用。
-
Method Details
-
dragEnter
当拖动操作正在进行时调用,当鼠标指针进入已向此监听器注册的DropTarget
的可操作部分时。- 参数:
-
dtde
-DropTargetDragEvent
-
dragOver
当拖动操作正在进行时调用,当鼠标指针仍位于已向此监听器注册的DropTarget
的可操作部分上方时。- 参数:
-
dtde
-DropTargetDragEvent
-
dropActionChanged
如果用户修改了当前的放置手势,则调用。- 参数:
-
dtde
-DropTargetDragEvent
-
dragExit
当拖动操作正在进行时调用,当鼠标指针已退出已向此监听器注册的DropTarget
的可操作部分时。- 参数:
-
dte
-DropTargetEvent
-
drop
当拖动操作以在已向此监听器注册的DropTarget
的可操作部分上进行放置而终止时调用。此方法负责执行与手势相关联的数据传输。
DropTargetDropEvent
提供了一种获取代表要传输的数据对象的Transferable
对象的方法。从此方法开始,
DropTargetListener
应通过DropTargetDropEvent
参数的acceptDrop(int dropAction)或rejectDrop()方法接受或拒绝放置。在acceptDrop()之后,但在之前,可以调用
DropTargetDropEvent
的getTransferable()方法,并且可以通过返回的Transferable
的getTransferData()方法执行数据传输。在放置完成后,此方法的实现需要通过向
DropTargetDropEvent
的dropComplete(boolean success)方法传递适当的boolean
来表示放置的成功/失败。注意: 数据传输应在调用
DropTargetDropEvent
的dropComplete(boolean success)方法之前完成。之后,仅当数据传输为本地时,即仅当DropTargetDropEvent.isLocalTransfer()
返回true
时,才保证通过DropTargetDropEvent.getTransferable()
返回的Transferable
的getTransferData()方法成功。否则,调用的行为取决于实现。- 参数:
-
dtde
-DropTargetDropEvent
-