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

Class DragGestureRecognizer

  • 实现的所有接口
    Serializable
    已知直接子类:
    MouseDragGestureRecognizer

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

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

    一旦DragGestureRecognizer与特定的Component相关联,它将在该Component上注册相应的侦听器接口,以跟踪传送到Component的输入事件。

    一旦DragGestureRecognizer识别关于事件的序列Component作为拖动启动动作时,将通知单播DragGestureListener通过调用其gestureRecognized()方法。

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

    另请参见:
    DragGestureListenerDragGestureEventDragSourceSerialized Form
    • 字段详细信息

      • dragSource

        protected DragSource dragSource
        DragSource与此 DragGestureRecognizer相关联。
      • component

        protected Component component
        Component与此 DragGestureRecognizer相关联。
      • dragGestureListener

        protected transient DragGestureListener dragGestureListener
        DragGestureListener与此 DragGestureRecognizer相关联。
      • sourceActions

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

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

      • DragGestureRecognizer

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

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

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

        protected DragGestureRecognizer​(DragSource ds)
        构造一个新的 DragGestureRecognizer给出的 DragSource这个拖放操作中使用。
        参数
        ds - DragSource这个 DragGestureRecognizer将用于处理拖放操作
        异常
        IllegalArgumentException - 如果ds是 null
    • 方法详细信息

      • registerListeners

        protected abstract void registerListeners()
        使用Component子类注册此DragGestureRecognizer的Listeners必须覆盖此方法
      • unregisterListeners

        protected abstract void unregisterListeners()
        使用Component子类取消注册此DragGestureRecognizer的Listeners必须覆盖此方法
      • getDragSource

        public DragSource getDragSource()
        此方法返回 DragSource这将使用 DragGestureRecognizer来处理拖放操作。
        结果
        DragSource
      • getComponent

        public Component getComponent()
        此方法返回由 Component “观察”的 DragGestureRecognizer用于拖动启动手势。
        结果
        与DragGestureRecognizer关联的Component
      • setComponent

        public void setComponent​(Component c)
        设置DragGestureRecognizer与registerListeners()相关联的Component和unregisterListeners()作为副作用被调用。
        参数
        c - Componentnull
      • getSourceActions

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

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

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

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

        public void removeDragGestureListener​(DragGestureListener dgl)
        取消注册当前的DragGestureListener
        参数
        dgl - 从 DragGestureListener取消注册的 DragGestureRecognizer
        异常
        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 - InputEvent添加到此DragGestureRecognizer的内部事件数组。 请注意, null不是有效值,将被忽略。