Module java.desktop
Package java.awt.dnd

Class DropTargetDragEvent

所有已实现的接口:
Serializable

public class DropTargetDragEvent extends DropTargetEvent
DropTargetDragEvent通过其dragEnter()和dragOver()方法传递给DropTargetListener

DropTargetDragEvent报告了当前拖动操作的源放置操作用户放置操作

源放置操作DnDConstants的按位掩码,表示拖动源支持的放置操作集。

用户放置操作取决于拖动源支持的放置操作和用户选择的放置操作。用户可以通过在拖动操作期间按修改键来选择放置操作:

   Ctrl + Shift -> ACTION_LINK
   Ctrl         -> ACTION_COPY
   Shift        -> ACTION_MOVE
 
如果用户选择了放置操作,则用户放置操作DnDConstants之一,表示所选放置操作(如果拖动源支持此放置操作),或者是DnDConstants.ACTION_NONE(如果拖动源不支持此放置操作)。

如果用户未选择放置操作,则搜索拖动源支持的放置操作集,先搜索DnDConstants.ACTION_MOVE,然后搜索DnDConstants.ACTION_COPY,最后搜索DnDConstants.ACTION_LINK,用户放置操作是找到的第一个常量。如果未找到常量,则用户放置操作DnDConstants.ACTION_NONE

自版本:
1.2
参见:
  • Constructor Details

    • DropTargetDragEvent

      public DropTargetDragEvent(DropTargetContext dtc, Point cursorLocn, int dropAction, int srcActions)
      构造一个DropTargetDragEvent,给定此操作的DropTargetContext,在Component坐标中的“拖动”Cursor的热点位置,用户放置操作和源放置操作。
      参数:
      dtc - 此操作的DropTargetContext
      cursorLocn - 在Component坐标中“拖动”Cursor的热点位置
      dropAction - 用户放置操作
      srcActions - 源放置操作
      抛出:
      NullPointerException - 如果cursorLocn为null
      IllegalArgumentException - 如果dropAction不是DnDConstants之一。
      IllegalArgumentException - 如果srcActions不是DnDConstants的按位掩码。
      IllegalArgumentException - 如果dtc为null
  • Method Details

    • getLocation

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

      public DataFlavor[] getCurrentDataFlavors()
      此方法从DropTargetContext返回当前的DataFlavor
      返回:
      DropTargetContext中的当前DataFlavors
    • getCurrentDataFlavorsAsList

      public List<DataFlavor> getCurrentDataFlavorsAsList()
      此方法将当前的DataFlavor作为java.util.List返回。
      返回:
      当前DataFlavorjava.util.List
    • isDataFlavorSupported

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

      public int getSourceActions()
      此方法返回源放置操作。
      返回:
      源放置操作
    • getDropAction

      public int getDropAction()
      此方法返回用户放置操作。
      返回:
      用户放置操作
    • getTransferable

      public Transferable getTransferable()
      此方法返回表示与当前拖动操作关联的数据的Transferable对象。
      返回:
      与拖动操作相关联的Transferable
      抛出:
      InvalidDnDOperationException - 如果拖动操作关联的数据不可用
      自版本:
      1.5
    • acceptDrag

      public void acceptDrag(int dragOperation)
      接受拖动。如果实现希望接受来自srcActions的操作而不是用户选择的操作(由dropAction表示),则应从DropTargetListeners dragEnterdragOverdropActionChanged方法中调用此方法。
      参数:
      dragOperation - 目标接受的操作
    • rejectDrag

      public void rejectDrag()
      通过检查dropAction或可用的DataFlavor类型,拒绝拖动。