返回介绍

java.awt.dnd 类 DropTargetDragEvent

发布于 2019-10-04 09:50:11 字数 8798 浏览 981 评论 0 收藏 0

java.lang.Object
  └java.util.EventObject
      └java.awt.dnd.DropTargetEvent
          └java.awt.dnd.DropTargetDragEvent
所有已实现的接口:
Serializable

public class DropTargetDragEvent
extends DropTargetEvent
 

通过 dragEnter() 和 dragOver() 方法将 DropTargetDragEvent 发送给 DropTargetListener

DropTargetDragEvent 报告源 drop 操作用户 drop 操作,这些操作反映了 drag 操作的当前状态。

源 drop 操作DnDConstants 的位掩码,DnDConstants 表示受此 drag 操作的 drag 源支持的 drop 操作集合。

用户 drop 操作 取决于受 drag 源支持的 drop 操作和用户选定的 drop 操作。在进行 drag 操作中,用户可以通过按下修正键选择一个 drop 操作。

 
   Ctrl + Shift -> ACTION_LINK
   Ctrl         -> ACTION_COPY
   Shift        -> ACTION_MOVE

当用户选择一个 drop 操作时,如果此 drop 操作受 drag 源支持,则用户 drop 操作DnDConstants 之一,如果此 drop 操作不受 drag 源支持,则用户 drop 操作为 DnDConstants.ACTION_NONE

如果用户没有选 drop 操作,则表示受 drag 源支持的 drop 操作集合的 DnDConstants 集合是先搜索 DnDConstants.ACTION_MOVE ,然后搜索 DnDConstants.ACTION_COPY ,最后搜索 DnDConstants.ACTION_LINK 而得到的,并且用户 drop 操作 是找到的第一个常量。如果找不到常量,则用户 drop 操作DnDConstants.ACTION_NONE

从以下版本开始:
1.2
另请参见:
序列化表格

字段摘要
从类 java.awt.dnd.DropTargetEvent 继承的字段
context
从类 java.util.EventObject 继承的字段
source
构造方法摘要
DropTargetDragEvent(DropTargetContextdtc, PointcursorLocn, intdropAction, intsrcActions)

在给出此操作的 DropTargetContextComponent 坐标中 "Drag" Cursor 热点的位置、用户 drop 操作和源 drop 操作的情况下,构造一个 DropTargetDragEvent

方法摘要
voidacceptDrag(intdragOperation)

接受 drag。

DataFlavor[]getCurrentDataFlavors()

此方法返回来自 DropTargetContext 的当前 DataFlavor

List<DataFlavor>getCurrentDataFlavorsAsList()

此方法以 java.util.List 形式返回当前的 DataFlavor

intgetDropAction()

此方法返回用户 drop 操作。

PointgetLocation()

此方法返回一个 Point ,指示 Component 坐标中 Cursor 的当前位置。

intgetSourceActions()

此方法返回源 drop 操作。

TransferablegetTransferable()

此方法返回 Transferable 对象,该对象表示与当前的 drag 操作有关的数据。

booleanisDataFlavorSupported(DataFlavordf)

此方法返回一个 boolean 值,指示指定的 DataFlavor 是否受支持。

voidrejectDrag()

作为检查 dropAction 或可用的 DataFlavor 类型的结果,拒绝 drag。

从类 java.awt.dnd.DropTargetEvent 继承的方法
getDropTargetContext
从类 java.util.EventObject 继承的方法
getSource, toString
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

构造方法详细信息

DropTargetDragEvent

public DropTargetDragEvent(DropTargetContextdtc,
                           PointcursorLocn,
                           intdropAction,
                           intsrcActions)
在给出此操作的 DropTargetContextComponent 坐标中 "Drag" Cursor 热点的位置、用户 drop 操作和源 drop 操作的情况下,构造一个 DropTargetDragEvent
参数:
dtc - 此操作的 DropTargetContext
cursorLocn - Component 坐标中 "Drag" Cursor 热点的位置
dropAction - 用户 drop 操作
srcActions - 源 drop 操作
抛出:
NullPointerException - 如果 cursorLocn 为 null
IllegalArgumentException - 如果 dropAction 不是 DnDConstants 之一。
IllegalArgumentException - 如果 srcAction 不是 DnDConstants 的位掩码。
IllegalArgumentException - 如果 dtc 为 null

方法详细信息

getLocation

public Point getLocation()
此方法返回一个 Point ,指示 Component 坐标中 Cursor 的当前位置。
返回:
Component 坐标中光标的当前位置。

getCurrentDataFlavors

public DataFlavor[] getCurrentDataFlavors()
此方法返回来自 DropTargetContext 的当前 DataFlavor
返回:
来自 DropTargetContext 的当前 DataFlavor

getCurrentDataFlavorsAsList

public List<DataFlavor> getCurrentDataFlavorsAsList()
此方法以 java.util.List 形式返回当前的 DataFlavor
返回:
当前 DataFlavorjava.util.List

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavordf)
此方法返回一个 boolean 值,指示指定的 DataFlavor 是否受支持。
参数:
df - 要测试的 DataFlavor
返回:
特定 DataFlavor 是否受支持

getSourceActions

public int getSourceActions()
此方法返回源 drop 操作。
返回:
源 drop 操作

getDropAction

public int getDropAction()
此方法返回用户 drop 操作。
返回:
用户 drop 操作

getTransferable

public Transferable getTransferable()
此方法返回 Transferable 对象,该对象表示与当前的 drag 操作有关的数据。
返回:
与 drag 操作有关的 Transferable
抛出:
InvalidDnDOperationException - 如果与 drag 操作有关的数据不可用
从以下版本开始:
1.5

acceptDrag

public void acceptDrag(intdragOperation)
接受 drag。如果希望接受来自 srcAction 的操作,而不是接受用户选择的操作(表示为 dropAction ),则应该从 DropTargetListenersdragEnterdragOverdropActionChanged 方法来调用此方法。
参数:
dragOperation - 目标所接受的操作

rejectDrag

public void rejectDrag()
作为检查 dropAction 或可用的 DataFlavor 类型的结果,拒绝 drag。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文