Module  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

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

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

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

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      void dragEnter​(DropTargetDragEvent dtde)
      当拖动操作正在进行时,当鼠标指针进入为此监听 DropTarget注册的 DropTarget的放置站点的可操作部分时 DropTarget
      void dragExit​(DropTargetEvent dte)
      当拖动操作正在进行时,当鼠标指针已经退出了对此监听 DropTarget注册的 DropTarget站点的可操作部分时 DropTarget
      void dragOver​(DropTargetDragEvent dtde)
      当拖动操作正在进行时被调用,而鼠标指针仍然在为该监听 DropTarget注册的 DropTarget的放置站点的可操作部分上。
      void drop​(DropTargetDropEvent dtde)
      当拖放操作终止时,拖放操作已被终止,而该拖放操作已在该监听 DropTarget注册的 DropTarget的丢弃站点的可操作部分上掉落。
      void dropActionChanged​(DropTargetDragEvent dtde)
      如果用户修改了当前的放置手势,则被调用。
    • 方法详细信息

      • dragEnter

        void dragEnter​(DropTargetDragEvent dtde)
        当拖动操作正在进行时,当鼠标指针进入为此监听 DropTarget注册的 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注册的 DropTarget的放置站点的可操作部分时 DropTarget
        参数
        dte - DropTargetEvent
      • drop

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

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

        通过这种方法, DropTargetListener将通过接受或拒绝该丢弃通过acceptDrop(int dropAction)或rejectDrop()方法的DropTargetDropEvent参数。

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

        在完成一个下降之后,需要执行此方法来通过将适当的boolean传递给DropTargetDropEvent的dropComplete(布尔成功)方法来表示掉落的成功/失败。

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

        参数
        dtde - the DropTargetDropEvent