模块  java.desktop
软件包  java.awt.dnd

Interface DropTargetListener

  • All Superinterfaces:
    EventListener
    所有已知实现类:
    DropTargetDropTargetAdapter

    public interface DropTargetListener
    extends EventListener
    DropTargetListener接口是DropTarget类使用的回调接口,用于提供涉及主题DropTarget的DnD操作的通知。 可以实现该界面的方法以在整个拖放操作期间向用户提供“拖曳”视觉反馈。

    通过实现接口创建一个侦听器对象,然后将其注册到DropTarget 当拖放动作发生变化时,拖动进入,移动或退出该DropTarget站点的可操作部分DropTarget ,当发生丢弃时,调用侦听器对象中的相关方法,并将DropTargetEvent传递给它。

    DropTarget的下降站点的可操作部分是相关联的Component几何体的一部分,该几何体不会被重叠的顶层窗口或具有相关活动DropTarget的Z顺序中的其他Component高度DropTarget

    在拖动期间,可以通过在传递给侦听器方法的DropTargetDragEvent实例上调用getTransferable()来检索与当前拖动操作关联的数据。

    请注意, getTransferable()实例上的DropTargetDragEvent只应在相应的侦听器方法中调用,并且应在该方法返回之前从返回的Transferable检索所有必需的数据。

    从以下版本开始:
    1.2
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      void dragEnter​(DropTargetDragEvent dtde)
      在拖动操作正在进行时调用,当鼠标指针进入向此侦听 DropTarget注册的 DropTarget的放置站点的可操作部分时。
      void dragExit​(DropTargetEvent dte)
      在拖动操作正在进行时调用,当鼠标指针退出注册该侦听器的 DropTarget的放置站点的可操作部分时。
      void dragOver​(DropTargetDragEvent dtde)
      当拖动操作正在进行时调用,而鼠标指针仍然在向该侦听 DropTarget注册的 DropTarget的放置站点的可操作部分 DropTarget
      void drop​(DropTargetDropEvent dtde)
      当拖动操作终止时,在此监听 DropTarget注册的 DropTarget的放置站点的可操作部分上放下时 DropTarget
      void dropActionChanged​(DropTargetDragEvent dtde)
      如果用户已修改当前放置手势,则调用。
    • 方法详细信息

      • dragEnter

        void dragEnter​(DropTargetDragEvent dtde)
        当拖动操作正在进行时调用,当鼠标指针进入向该侦听 DropTarget注册的 DropTarget的放置站点的可操作部分时。
        参数
        dtde - DropTargetDragEvent
      • dragOver

        void dragOver​(DropTargetDragEvent dtde)
        在拖动操作正在进行时调用,而鼠标指针仍在通过此侦听 DropTarget注册的 DropTarget的放置站点的可操作部分 DropTarget
        参数
        dtde - DropTargetDragEvent
      • dropActionChanged

        void dropActionChanged​(DropTargetDragEvent dtde)
        如果用户已修改当前放置手势,则调用。
        参数
        dtde - DropTargetDragEvent
      • dragExit

        void dragExit​(DropTargetEvent dte)
        在拖动操作正在进行时调用,当鼠标指针退出注册该侦听器的 DropTarget的放置站点的可操作部分时。
        参数
        dte - DropTargetEvent
      • drop

        void drop​(DropTargetDropEvent dtde)
        当拖动操作终止时,在此监听DropTarget注册的DropTarget的放置站点的可操作部分上放下时DropTarget

        该方法负责进行与手势相关联的数据的传送。 DropTargetDropEvent提供了一种获取Transferable对象的方法,该对象表示要传输的数据对象。

        从这种方法, DropTargetListener应通过DropTargetDropEvent参数的acceptDrop(int dropAction)或rejectDrop()方法接受或拒绝掉落。

        在acceptDrop()之后,但不是之前,可以调用DropTargetDropEvent的getTransferable()方法,并且可以通过返回的Transferable的getTransferData()方法执行数据传输。

        在完成丢弃时,需要通过将适当的boolean传递给DropTargetDropEvent的dropComplete(布尔成功)方法来实现此方法的实现,以指示丢弃的成功/失败。

        注意:数据传输应在调用DropTargetDropEvent的dropComplete(布尔成功)方法之前完成。 之后,只有当数据传输是本地时,才能保证对Transferable返回的DropTargetDropEvent.getTransferable()的getTransferData()方法的调用成功; 也就是说,仅当DropTargetDropEvent.isLocalTransfer()返回true 否则,调用的行为取决于实现。

        参数
        dtde - the DropTargetDropEvent