Module java.desktop
Package java.awt.dnd

Class DropTargetDropEvent

所有已实现的接口:
Serializable

public class DropTargetDropEvent extends DropTargetEvent
DropTargetDropEvent通过DropTargetListener的drop()方法传递。

DropTargetDropEvent报告了当前拖放操作的源拖放操作用户拖放操作的状态。

源拖放操作是一个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

    • DropTargetDropEvent

      public DropTargetDropEvent(DropTargetContext dtc, Point cursorLocn, int dropAction, int srcActions)
      给定此操作的DropTargetContext,拖动Cursor的热点位置在Component的坐标中,当前选择的用户拖放操作以及源支持的当前操作集,构造一个DropTargetDropEvent。默认情况下,此构造函数假定目标不在与源相同的虚拟机中;也就是说,isLocalTransfer()将返回false
      参数:
      dtc - 此操作的DropTargetContext
      cursorLocn - "拖动"光标的热点位置在Component坐标中
      dropAction - 用户拖放操作
      srcActions - 源拖放操作
      抛出:
      NullPointerException - 如果cursorLocn为null
      IllegalArgumentException - 如果dropAction不是DnDConstants之一。
      IllegalArgumentException - 如果srcActions不是DnDConstants的按位掩码。
      IllegalArgumentException - 如果dtc为null
    • DropTargetDropEvent

      public DropTargetDropEvent(DropTargetContext dtc, Point cursorLocn, int dropAction, int srcActions, boolean isLocal)
      给定此操作的DropTargetContext,拖动Cursor的热点位置在Component的坐标中,当前选择的用户拖放操作,源支持的当前操作集以及指示源是否与目标在同一JVM中的boolean,构造一个DropTargetEvent
      参数:
      dtc - 此操作的DropTargetContext
      cursorLocn - "拖动"光标的热点位置在Component坐标中
      dropAction - 用户拖放操作
      srcActions - 源拖放操作
      isLocal - 如果源与目标在同一JVM中,则为True
      抛出:
      NullPointerException - 如果cursorLocn为null
      IllegalArgumentException - 如果dropAction不是DnDConstants之一。
      IllegalArgumentException - 如果srcActions不是DnDConstants的按位掩码。
      IllegalArgumentException - 如果dtc为null
  • Method Details

    • getLocation

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

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

      public List<DataFlavor> getCurrentDataFlavorsAsList()
      此方法将当前可用的DataFlavor作为java.util.List返回。
      返回:
      当前可用的DataFlavors作为java.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对象
    • acceptDrop

      public void acceptDrop(int dropAction)
      接受拖放,使用指定的操作。
      参数:
      dropAction - 指定的操作
    • rejectDrop

      public void rejectDrop()
      拒绝拖放。
    • dropComplete

      public void dropComplete(boolean success)
      此方法通知DragSource拖放传输已完成。
      参数:
      success - 指示拖放传输是否已完成的boolean
    • isLocalTransfer

      public boolean isLocalTransfer()
      此方法返回一个int,指示源是否与目标在同一JVM中。
      返回:
      源是否在同一JVM中