|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.dnd
接口 DropTargetListener
- 所有超级接口:
- EventListener
- 所有已知实现类:
- DropTarget, DropTargetAdapter
-
public interface DropTargetListener
- extends EventListener
DropTargetListener
接口是 DropTarget
类所使用的回调接口,用于提供所涉及的 DropTarget
的 DnD 操作的通知。在整个 Drag 和 Drop 操作中,可以实现此接口的方法,向用户提供 "drag under" 的可视化反馈。
通过实现该接口,并使用 DropTarget
注册该接口,可以创建一个 listener 对象。当 drag 进入、移上或退出该 DropTarget
的 drop 位置的可操作部分时,当 drop 操作改变时,以及当 drop 操作发生时,调用 listener 对象的相关方法,并将 DropTargetEvent
传递到该方法。
DropTarget
的 drop 位置的可操作部分是关联 Component
几何结构的一部分,该部分不会被重叠的顶层窗口或另一 Z-order(顺序)更高的并具有关联的活动 DropTarget
的 Component
遮掩。
在 drag 过程中,通过对 DropTargetDragEvent
实例(该实例被传递给 listener 的方法)调用 getTransferable()
,可以检索与当前 drag 操作相关的数据。
注意,DropTargetDragEvent
实例上的 getTransferable()
应该只在各自 listener 的方法中调用,并且应该在该方法返回前从返回的 Transferable
检索所有必需的数据。
- 从以下版本开始:
- 1.2
方法摘要 | |
---|---|
void |
dragEnter(DropTargetDragEvent dtde) 正在进行 drag 操作时调用,此时鼠标指针进入 DropTarget (使用此 listener 注册)的 drop 位置的可操作部分。 |
void |
dragExit(DropTargetEvent dte) 正在进行 drag 操作时调用,此时鼠标指针已退出 DropTarget (使用此 listener 注册)的 drop 位置的可操作部分。 |
void |
dragOver(DropTargetDragEvent dtde) 正在进行 drag 操作时调用,此时鼠标指针仍然处于 DropTarget (使用此 listener 注册)的 drop 位置的可操作部分。 |
void |
drop(DropTargetDropEvent dtde) 在 drag 操作已终止时调用,此时 drop 处于 DropTarget (使用此 listener 注册)的 drop 位置的可操作部分。 |
void |
dropActionChanged(DropTargetDragEvent dtde) 在用户已经修改了当前 drop 操作后调用。 |
方法详细信息 |
---|
dragEnter
void dragEnter(DropTargetDragEvent dtde)
-
正在进行 drag 操作时调用,此时鼠标指针进入
DropTarget
(使用此 listener 注册)的 drop 位置的可操作部分。 -
-
- 参数:
-
dtde
-DropTargetDragEvent
dragOver
void dragOver(DropTargetDragEvent dtde)
-
正在进行 drag 操作时调用,此时鼠标指针仍然处于
DropTarget
(使用此 listener 注册)的 drop 位置的可操作部分。 -
-
- 参数:
-
dtde
-DropTargetDragEvent
dropActionChanged
void dropActionChanged(DropTargetDragEvent dtde)
- 在用户已经修改了当前 drop 操作后调用。
-
-
- 参数:
-
dtde
-DropTargetDragEvent
dragExit
void dragExit(DropTargetEvent dte)
-
正在进行 drag 操作时调用,此时鼠标指针已退出
DropTarget
(使用此 listener 注册)的 drop 位置的可操作部分。 -
-
- 参数:
-
dte
-DropTargetEvent
drop
void drop(DropTargetDropEvent dtde)
-
在 drag 操作已终止时调用,此时 drop 处于
DropTarget
(使用此 listener 注册)的 drop 位置的可操作部分。此方法负责保证与操作相关的数据传输。
DropTargetDropEvent
提供获得Transferable
对象的手段,该对象表示要转换的数据对象。利用此方法,
DropTargetListener
将通过带DropTargetDropEvent
参数的 acceptDrop(int dropAction) 或 rejectDrop() 方法来接受或拒绝 drop 操作。在 acceptDrop() 之后(而不是之前),可以调用
DropTargetDropEvent
的 getTransferable() 方法,还可以通过返回的Transferable
的 getTransferData() 方法执行数据传输。完成 drop 之后,需要此方法实现指明 drop 成功还是失败,这通过传递合适的
boolean
给DropTargetDropEvent
的 dropComplete(boolean success) 方法来完成。注:应该在调用
DropTargetDropEvent
的 dropComplete(boolean success) 方法之前完成数据传输。在此之后,调用由DropTargetDropEvent.getTransferable()
返回的Transferable
的 getTransferData() 方法,确保只有在数据传输限于本地时才会成功;也就是说,只有DropTargetDropEvent.isLocalTransfer()
返回true
时才会成功。否则,调用的行为是与实现相关的。 -
-
- 参数:
-
dtde
-DropTargetDropEvent
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |