java.lang.Object java.util.EventObject java.awt.dnd.DropTargetEvent java.awt.dnd.DropTargetDragEvent
public class DropTargetDragEvent
通过 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
。
字段摘要 |
---|
从类 java.awt.dnd.DropTargetEvent 继承的字段 |
---|
context |
从类 java.util.EventObject 继承的字段 |
---|
source |
构造方法摘要 | |
---|---|
DropTargetDragEvent(DropTargetContext dtc, Point cursorLocn, int dropAction, int srcActions) 在给出此操作的 DropTargetContext 、Component 坐标中 "Drag" Cursor 热点的位置、用户 drop 操作和源 drop 操作的情况下,构造一个 DropTargetDragEvent 。 |
方法摘要 | |
---|---|
void |
acceptDrag(int dragOperation) 接受 drag。 |
DataFlavor[] |
getCurrentDataFlavors() 此方法返回来自 DropTargetContext 的当前 DataFlavor 。 |
List<DataFlavor> |
getCurrentDataFlavorsAsList() 此方法以 java.util.List 形式返回当前的 DataFlavor |
int |
getDropAction() 此方法返回用户 drop 操作。 |
Point |
getLocation() 此方法返回一个指示 Component 坐标中 Cursor 当前位置的 Point 。 |
int |
getSourceActions() 此方法返回源 drop 操作。 |
Transferable |
getTransferable() 此方法返回 Transferable 对象,该对象表示与当前的 drag 操作有关的数据。 |
boolean |
isDataFlavorSupported(DataFlavor df) 此方法返回一个指示指定的 DataFlavor 是否受支持 boolean 值。 |
void |
rejectDrag() 作为检查 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 |
构造方法详细信息 |
---|
public DropTargetDragEvent(DropTargetContext dtc, Point cursorLocn, int dropAction, int srcActions)
DropTargetContext
、
Component
坐标中 "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
。
方法详细信息 |
---|
public Point getLocation()
Component
坐标中
Cursor
当前位置的
Point
。
Component
坐标中光标的当前位置。
public DataFlavor[] getCurrentDataFlavors()
DropTargetContext
的当前
DataFlavor
。
public List<DataFlavor> getCurrentDataFlavorsAsList()
java.util.List
形式返回当前的
DataFlavor
DataFlavor
的
java.util.List
public boolean isDataFlavorSupported(DataFlavor df)
DataFlavor
是否受支持
boolean
值。
df
- 要测试的
DataFlavor
public int getSourceActions()
public int getDropAction()
public Transferable getTransferable()
InvalidDnDOperationException
- 如果与 drag 操作有关的数据不可用
public void acceptDrag(int dragOperation)
dropAction
),则应该从
DropTargetListener
、
dragEnter
、
dragOver
和
dropActionChanged
方法来调用此方法。
dragOperation
- 目标所接受的操作
public void rejectDrag()
dropAction
或可用的
DataFlavor
类型的结果,拒绝 drag。