Module  java.desktop
软件包  java.awt.dnd

Class DragGestureRecognizer

  • All Implemented Interfaces:
    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与其相关联,它触发一个DragGestureEventDragGestureListener单播事件源上用于注册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到拖动手势时通知的 DragGestureRecognizer
        异常
        IllegalArgumentException - 如果ds是 null
      • DragGestureRecognizer

        protected DragGestureRecognizer​(DragSource ds,
                                        Component c,
                                        int sa)
        构造新的 DragGestureRecognizer给定 DragSource将用于此拖放操作, ComponentDragGestureRecognizer应该“观察”拖动启动手势,以及此拖放操作支持的操作。
        参数
        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​()
        注册该DragGestureRecognizer的Listeners与Component子类必须覆盖此方法
      • unregisterListeners

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

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

        public Component getComponent​()
        该方法返回 ComponentDragGestureRecognizer进行拖动启动手势的“观察”。
        结果
        与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​()
        重置识别器,如果其当前识别手势,则忽略它。
      • 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不是有效值,将被忽略。