java.lang.Objectjava.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。