模块 java.desktop

类 DragGestureRecognizer

java.lang.Object
java.awt.dnd.DragGestureRecognizer
所有已实现的接口:
Serializable
已知子类:
MouseDragGestureRecognizer

public abstract class DragGestureRecognizer extends Object implements Serializable
DragGestureRecognizer 是一个抽象基类,用于规范依赖于平台的监听器,可以与特定的 Component 关联,以便识别依赖于平台的拖动启动手势。

适当的 DragGestureRecognizer 子类实例是从与特定 Component 关联的 DragSource 或通过其 createDragGestureRecognizer() 方法从 Toolkit 对象获得的。

一旦 DragGestureRecognizer 与特定的 Component 相关联,它将在该 Component 上注册适当的监听器接口,以跟踪传递给 Component 的输入事件。

一旦 DragGestureRecognizerComponent 上的一系列事件识别为拖动启动手势,它将通过调用其 gestureRecognized() 方法通知其单播 DragGestureListener

当具体的 DragGestureRecognizer 实例在与其关联的 Component 上检测到拖动启动手势时,它会向在其单播事件源上注册的 DragGestureListener DragGestureListener 事件触发一个 DragGestureEvent 。此 DragGestureListener 负责导致关联的 DragSource 启动拖放操作(如果适用)。

参见:
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    protected Component
    与此 DragGestureRecognizer 关联的 Component
    与此 DragGestureRecognizer 关联的 DragGestureListener
    protected DragSource
    与此 DragGestureRecognizer 关联的 DragSource
    protected ArrayList<InputEvent>
    DragGestureRecognizer“识别”为触发拖动的“手势”的事件列表(按顺序)。
    protected int
    int 表示此拖放操作中使用的操作类型。
  • 构造方法总结

    构造方法
    修饰符
    构造方法
    描述
    protected
    给定要在此拖放操作中使用的 DragSource,构造一个新的 DragGestureRecognizer
    protected
    给定要在此拖放操作中使用的 DragSource 构造一个新的 DragGestureRecognizer,而 Component 这个 DragGestureRecognizer 应该“观察”拖动启动手势。
    protected
    构造一个新的 DragGestureRecognizer,给定要在此拖放操作中使用的 DragSourceComponent 这个 DragGestureRecognizer 应该“观察”拖动启动手势,以及此拖放操作支持的操作。
    protected
    构造一个新的 DragGestureRecognizer 给定要在此拖放操作中使用的 DragSourceComponent 这个 DragGestureRecognizer 应该“观察”拖动启动手势,此拖放操作支持的动作,以及 DragGestureListener 通知一次已检测到拖动启动手势。
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    注册一个新的 DragGestureListener
    protected void
    此识别器在组件上注册的监听应记录所有被识别为事件系列的一部分的事件,这些事件将通过此 API 构成拖放启动手势。
    protected void
    fireDragGestureRecognized(int dragAction, Point p)
    通知 DragGestureListener 已发生拖放启动手势。
    此方法返回 Component 将由 DragGestureRecognizer“观察”以进行拖动启动手势。
    此方法返回 DragSourceDragGestureRecognizer 将用于处理拖放操作。
    int
    此方法返回一个 int,表示此拖放操作将支持的操作类型。
    此方法返回启动拖放操作的一系列事件中的第一个事件。
    protected abstract void
    向组件子类注册此 DragGestureRecognizer 的监听必须重写此方法
    void
    注销当前的 DragGestureListener
    void
    重置识别器,如果它当前正在识别手势,请忽略它。
    void
    设置 DragGestureRecognizer 与 registerListeners() 相关联的组件,并且 unregisterListeners() 被调用为适当的副作用。
    void
    setSourceActions(int actions)
    此方法为此拖放操作设置允许的源拖动操作。
    protected abstract void
    使用组件子类注销此 DragGestureRecognizer 的监听必须重写此方法

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细信息

    • dragSource

      protected DragSource  dragSource
      与此 DragGestureRecognizer 关联的 DragSource
    • component

      protected Component  component
      与此 DragGestureRecognizer 关联的 Component
    • dragGestureListener

      protected transient DragGestureListener  dragGestureListener
      与此 DragGestureRecognizer 关联的 DragGestureListener
    • sourceActions

      protected int sourceActions
      int 表示此拖放操作中使用的操作类型。
    • events

      protected ArrayList <InputEvent > events
      DragGestureRecognizer“识别”为触发拖动的“手势”的事件列表(按顺序)。
  • 构造方法详细信息

    • DragGestureRecognizer

      protected DragGestureRecognizer(DragSource  ds, Component  c, int sa, DragGestureListener  dgl)
      构造一个新的 DragGestureRecognizer 给定要在此拖放操作中使用的 DragSourceComponent 这个 DragGestureRecognizer 应该“观察”拖动启动手势,此拖放操作支持的动作,以及 DragGestureListener 通知一次已检测到拖动启动手势。
      参数:
      ds - DragSource 这个 DragGestureRecognizer 将用于处理拖放操作
      c - Component 这个 DragGestureRecognizer 应该“观察”事件流,以检测拖动启动手势。如果此值为 null,则 DragGestureRecognizer 不与任何 Component 相关联。
      sa - 此拖放操作将支持的 DnDConstants 的集合(逻辑或)
      dgl - DragGestureRecognizer 在检测到拖动手势时通知
      抛出:
      IllegalArgumentException - 如果 ds 是 null
    • DragGestureRecognizer

      protected DragGestureRecognizer(DragSource  ds, Component  c, int sa)
      构造一个新的 DragGestureRecognizer,给定要在此拖放操作中使用的 DragSourceComponent 这个 DragGestureRecognizer 应该“观察”拖动启动手势,以及此拖放操作支持的操作。
      参数:
      ds - DragSource 这个 DragGestureRecognizer 将用于处理拖放操作
      c - Component 这个 DragGestureRecognizer 应该“观察”事件流,以检测拖动启动手势。如果此值为 null,则 DragGestureRecognizer 不与任何 Component 相关联。
      sa - 此拖放操作将支持的 DnDConstants 的集合(逻辑或)
      抛出:
      IllegalArgumentException - 如果 ds 是 null
    • DragGestureRecognizer

      protected DragGestureRecognizer(DragSource  ds, Component  c)
      给定要在此拖放操作中使用的 DragSource 构造一个新的 DragGestureRecognizer,而 Component 这个 DragGestureRecognizer 应该“观察”拖动启动手势。
      参数:
      ds - DragSource 这个 DragGestureRecognizer 将用于处理拖放操作
      c - Component 这个 DragGestureRecognizer 应该“观察”事件流,以检测拖动启动手势。如果此值为 null,则 DragGestureRecognizer 不与任何 Component 相关联。
      抛出:
      IllegalArgumentException - 如果 ds 是 null
    • DragGestureRecognizer

      protected DragGestureRecognizer(DragSource  ds)
      给定要在此拖放操作中使用的 DragSource,构造一个新的 DragGestureRecognizer
      参数:
      ds - DragSource 这个 DragGestureRecognizer 将用于处理拖放操作
      抛出:
      IllegalArgumentException - 如果 ds 是 null
  • 方法详情

    • registerListeners

      protected abstract void registerListeners()
      向组件子类注册此 DragGestureRecognizer 的监听必须重写此方法
    • unregisterListeners

      protected abstract void unregisterListeners()
      使用组件子类注销此 DragGestureRecognizer 的监听必须重写此方法
    • getDragSource

      public DragSource  getDragSource()
      此方法返回 DragSourceDragGestureRecognizer 将用于处理拖放操作。
      返回:
      拖动源
    • getComponent

      public Component  getComponent()
      此方法返回 Component 将由 DragGestureRecognizer“观察”以进行拖动启动手势。
      返回:
      此 DragGestureRecognizer 关联的组件
    • setComponent

      public void setComponent(Component  c)
      设置 DragGestureRecognizer 与 registerListeners() 相关联的组件,并且 unregisterListeners() 被调用为适当的副作用。
      参数:
      c - Componentnull
    • getSourceActions

      public int getSourceActions()
      此方法返回一个 int,表示此拖放操作将支持的操作类型。
      返回:
      当前允许的源操作
    • setSourceActions

      public void setSourceActions(int actions)
      此方法为此拖放操作设置允许的源拖动操作。
      参数:
      actions - 允许的源拖动操作
    • getTriggerEvent

      public InputEvent  getTriggerEvent()
      此方法返回启动拖放操作的一系列事件中的第一个事件。
      返回:
      触发拖动手势的初始事件
    • resetRecognizer

      public void resetRecognizer()
      重置识别器,如果它当前正在识别手势,请忽略它。
    • addDragGestureListener

      public void addDragGestureListener(DragGestureListener  dgl) throws TooManyListenersException
      注册一个新的 DragGestureListener
      参数:
      dgl - 向这个 DragGestureRecognizer 注册的 DragGestureListener
      抛出:
      TooManyListenersException - 如果已添加 DragGestureListener
    • removeDragGestureListener

      public void removeDragGestureListener(DragGestureListener  dgl)
      注销当前的 DragGestureListener
      参数:
      dgl - 要从此 DragGestureRecognizer 注销的 DragGestureListener
      抛出:
      IllegalArgumentException - 如果 dgl 不(等于)当前注册的 DragGestureListener
    • fireDragGestureRecognized

      protected void fireDragGestureRecognized(int dragAction, Point  p)
      通知 DragGestureListener 已发生拖放启动手势。然后重置识别器的状态。
      参数:
      dragAction - 用户手势最初选择的动作
      p - 手势起源的点(在组件坐标中)
    • appendEvent

      protected void appendEvent(InputEvent  awtie)
      此识别器在组件上注册的监听应记录所有被识别为事件系列的一部分的事件,这些事件将通过此 API 构成拖放启动手势。

      DragGestureRecognizer 实现使用此方法将 InputEvent 子类(它认为是包含拖放操作的一系列事件中的一个)添加到此 DragGestureRecognizer 内部维护的事件数组中。

      参数:
      awtie - 添加到此 DragGestureRecognizer 的内部事件数组的 InputEvent。请注意,null 不是有效值,将被忽略。