java.lang.Object java.awt.dnd.DragGestureRecognizer
public abstract class DragGestureRecognizer
DragGestureRecognizer
是一个针对与平台相关的侦听器规范的抽象基类,它可以与特定 Component
关联以标识与平台相关的拖动开始动作。
可从与特定 Component
关联的 DragSource
,或通过其 createDragGestureRecognizer() 方法从 Toolkit
对象获得合适的 DragGestureRecognizer
子类。
DragGestureRecognizer
一旦与特定的 Component
关联,就会在该 Component
上注册合适的侦听器接口,以跟踪传递给该 Component
的输入事件。
DragGestureRecognizer
一旦将该 Component
上的事件顺序标识为拖动开始动作,它就会通过调用其 gestureRecognized() 方法来通知其单播传递的 DragGestureListener
。
当具体的 DragGestureRecognizer
实例在其关联的 Component
上检测到拖动开始动作时,它将激发一个 DragGestureEvent
,并针对 DragGestureListener
事件将其传递给在其单播传递事件源上注册的 DragGestureListener
。此 DragGestureListener
负责使关联的 DragSource
开始 Drag 和 Drop 操作(如果合适)。
字段摘要 | |
---|---|
protected Component |
component 与此 DragGestureRecognizer 关联的 Component 。 |
protected DragGestureListener |
dragGestureListener 与此 DragGestureRecognizer 关联的 DragGestureListener 。 |
protected DragSource |
dragSource 与此 DragGestureRecognizer 关联的 DragSource 。 |
protected ArrayList<InputEvent> |
events DragGestureRecognizer “识别”为触发拖动的“动作”事件列表(按顺序)。 |
protected int |
sourceActions 此 Drag 和 Drop 操作中所用动作类型的 int 表示形式。 |
构造方法摘要 | |
---|---|
protected |
DragGestureRecognizer(DragSource ds) 构造一个新的 DragGestureRecognizer ,使其具有给定此 Drag 和 Drop 操作中使用的 DragSource 。 |
protected |
DragGestureRecognizer(DragSource ds, Component c) 构造一个新的 DragGestureRecognizer ,使其具有给定此 Drag 和 Drop 操作中使用的 DragSource 和此 DragGestureRecognizer 应该“观察”拖动开始动作的 Component 。 |
protected |
DragGestureRecognizer(DragSource ds, Component c, int sa) 构造一个新的 DragGestureRecognizer ,使其具有给定此 Drag 和 Drop 操作中使用的 DragSource 、此 DragGestureRecognizer 应该“观察”拖动开始动作的 Component 和此 Drag 和 Drop 操作所支持的动作。 |
protected |
DragGestureRecognizer(DragSource ds, Component c, int sa, DragGestureListener dgl) 构造一个新的 DragGestureRecognizer ,使其具有给定此 Drag 和 Drop 操作中使用的 DragSource 、此 DragGestureRecognizer 应该“观察”拖动开始动作的 Component 、此 Drag 和 Drop 操作所支持的操作和一旦检测到拖动开始动作要通知的 DragGestureListener 。 |
方法摘要 | |
---|---|
void |
addDragGestureListener(DragGestureListener dgl) 注册一个新的 DragGestureListener 。 |
protected void |
appendEvent(InputEvent awtie) Recognizer 在 Component 上注册的侦听器将通过此 API 记录所有识别的 Event,识别的 Event 是组成 Drag 和 Drop 开始动作的系列 Event 的一部分。 |
protected void |
fireDragGestureRecognized(int dragAction, Point p) 通知 DragGestureListener 已发生了 Drag 和 Drop 开始动作。 |
Component |
getComponent() 此方法返回 DragGestureRecognizer 所“观察”的 Component ,以便了解拖动开始动作。 |
DragSource |
getDragSource() 此方法返回 DragSource ,为了进行 Drag 和 Drop 操作,将使用此 DragGestureRecognizer 。 |
int |
getSourceActions() 此方法返回 Drag 和 Drop 操作所支持动作类型的 int 表示形式。 |
InputEvent |
getTriggerEvent() 此方法返回发起 Drag 和 Drop 操作的系列事件中的首个事件。 |
protected abstract void |
registerListeners() 向该 Component 注册此 DragGestureRecognizer 的 Listeners。 |
void |
removeDragGestureListener(DragGestureListener dgl) 取消注册当前的 DragGestureListener |
void |
resetRecognizer() 重置 Recognizer,如果 Recognizer 当前正在识别一个动作,则忽略。 |
void |
setComponent(Component c) 设置与该 DragGestureRecognizer 关联的 Component 使用此方法时还会调用 registerListeners() 和 unregisterListeners()。 |
void |
setSourceActions(int actions) 此方法设置此 Drag 和 Drop 操作允许的源拖动动作。 |
protected abstract void |
unregisterListeners() 向该 Component 取消注册此 DragGestureRecognizer 的 Listeners。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected DragSource dragSource
DragGestureRecognizer
关联的
DragSource
。
protected Component component
DragGestureRecognizer
关联的
Component
。
protected transient DragGestureListener dragGestureListener
DragGestureRecognizer
关联的
DragGestureListener
。
protected int sourceActions
int
表示形式。
protected ArrayList<InputEvent> events
DragGestureRecognizer
“识别”为触发拖动的“动作”事件列表(按顺序)。
构造方法详细信息 |
---|
protected DragGestureRecognizer(DragSource ds, Component c, int sa, DragGestureListener dgl)
DragGestureRecognizer
,使其具有给定此 Drag 和 Drop 操作中使用的
DragSource
、此
DragGestureRecognizer
应该“观察”拖动开始动作的
Component
、此 Drag 和 Drop 操作所支持的操作和一旦检测到拖动开始动作要通知的
DragGestureListener
。
ds
- 此
DragGestureRecognizer
用于处理 Drag 和 Drop 操作的
DragSource
c
- 为了检测拖动开始动作,此
DragGestureRecognizer
应该“观察”事件流去往的
Component
。如果此值为
null
,则
DragGestureRecognizer
未与任何
Component
关联。
sa
- 此 Drag 和 Drop 操作支持的
DnDConstants
集合(逻辑“或”)
dgl
- 检测到拖动动作时要通知的
DragGestureRecognizer
IllegalArgumentException
- 如果 ds 为
null
。
protected DragGestureRecognizer(DragSource ds, Component c, int sa)
DragGestureRecognizer
,使其具有给定此 Drag 和 Drop 操作中使用的
DragSource
、此
DragGestureRecognizer
应该“观察”拖动开始动作的
Component
和此 Drag 和 Drop 操作所支持的动作。
ds
- 此
DragGestureRecognizer
用于处理 Drag 和 Drop 操作的
DragSource
c
- 为了检测拖动开始动作,此
DragGestureRecognizer
应该“观察”事件流去往的
Component
。如果此值为
null
,则
DragGestureRecognizer
未与任何
Component
关联。
sa
- 此 Drag 和 Drop 操作支持的
DnDConstants
集合(逻辑“或”)
IllegalArgumentException
- 如果 ds 为
null
。
protected DragGestureRecognizer(DragSource ds, Component c)
DragGestureRecognizer
,使其具有给定此 Drag 和 Drop 操作中使用的
DragSource
和此
DragGestureRecognizer
应该“观察”拖动开始动作的
Component
。
ds
- 此
DragGestureRecognizer
用于处理 Drag 和 Drop 操作的
DragSource
c
- 为了检测拖动开始动作,此
DragGestureRecognizer
应该“观察”事件流去往的
Component
。如果此值为
null
,则
DragGestureRecognizer
未与任何
Component
关联。
IllegalArgumentException
- 如果 ds 为
null
。
protected DragGestureRecognizer(DragSource ds)
DragGestureRecognizer
,使其具有给定此 Drag 和 Drop 操作中使用的
DragSource
。
ds
- 此
DragGestureRecognizer
用于处理 Drag 和 Drop 操作的
DragSource
IllegalArgumentException
- 如果 ds 为
null
。
方法详细信息 |
---|
protected abstract void registerListeners()
protected abstract void unregisterListeners()
public DragSource getDragSource()
DragSource
,为了进行 Drag 和 Drop 操作,将使用此
DragGestureRecognizer
。
public Component getComponent()
DragGestureRecognizer
所“观察”的
Component
,以便了解拖动开始动作。
public void setComponent(Component c)
c
-
Component
或
null
public int getSourceActions()
public void setSourceActions(int actions)
actions
- 允许的源拖动动作
public InputEvent getTriggerEvent()
public void resetRecognizer()
public void addDragGestureListener(DragGestureListener dgl) throws TooManyListenersException
DragGestureListener
。
dgl
- 使用此
DragGestureRecognizer
注册的
DragGestureListener
。
TooManyListenersException
- 如果已经添加了
DragGestureListener
。
public void removeDragGestureListener(DragGestureListener dgl)
dgl
- 使用此
DragGestureRecognizer
取消注册的
DragGestureListener
。
IllegalArgumentException
- 如果 dgl 不是(等于)当前已注册的
DragGestureListener
。
protected void fireDragGestureRecognized(int dragAction, Point p)
dragAction
- 通过用户动作初始选中的动作
p
- 该动作开始的 point(在 Component 坐标中)
protected void appendEvent(InputEvent awtie)
DragGestureRecognizer
实现使用此方法将 InputEvent
子类(相信它是组成 Drag 和 Drop 操作的系列事件的一部分)添加到此 DragGestureRecognizer
内部维护的事件数组中。
awtie
- 添加到此
DragGestureRecognizer
内部事件数组的
InputEvent
。注意,
null
不是有效值,将忽略该值。