|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.dnd
类 DragSource
java.lang.Object java.awt.dnd.DragSource
- 所有已实现的接口:
- Serializable
-
public class DragSource
- extends Object
- implements Serializable
DragSource
是负责开始 Drag 和 Drop 操作的实体,可以用在如下场景中:
- JVM 生命周期中每个 JVM 的一个默认实例。
- 每个潜在 Drag 初始程序对象(例如 TextField)类的一个实例。[与实现相关]
- 每个特定
Component
一个实例,或者每个与 GUI 中Component
实例相关联的特定应用程序对象一个实例。[与实现相关] - 其他一些任意的关联。[与实现相关]
DragSource
,还应获得一个 DragGestureRecognizer
,以便将该 DragSource
与特定的 Component
关联。
通常是由 DragGestureRecognizer
来实现一个 implementing Component
,而这个 implementing component 负责用户操作的初始解释和随后开始的拖动操作。
出现一个拖动操作时,应调用 DragSource
的 startDrag() 方法,以处理用户的浏览操作并传递 Drag 和 Drop 协议通知。DragSource
只允许在任一时刻执行一个 Drag 和 Drop 操作,并且在现存的操作完成前,通过抛出 IllegalDnDOperationException
来拒绝所有其他的 startDrag() 请求。
startDrag() 方法调用 createDragSourceContext() 方法来实例化合适的 DragSourceContext
,并将 DragSourceContextPeer
与其关联。
如果 Drag 和 Drop 系统由于某些原因而无法开始拖动操作,则 startDrag() 方法抛出 java.awt.dnd.InvalidDnDOperationException
来通知该状况。通常在基础平台系统未处于可初始拖动的状态或者指定的参数无效时抛出此异常。
注意,在拖动期间,操作完成前不能改变拖动源在拖动操作开始时所公开的操作集合。操作持续期间该操作对于 DragSource
而言是持续的。
- 从以下版本开始:
- 1.2
- 另请参见:
- 序列化表格
字段摘要 | |
---|---|
static Cursor |
DefaultCopyDrop 用于复制操作的默认 Cursor ,指示当前允许放置。 |
static Cursor |
DefaultCopyNoDrop 用于复制操作的默认 Cursor ,指示当前不允许放置。 |
static Cursor |
DefaultLinkDrop 用于链接操作的默认 Cursor ,指示当前允许放置。 |
static Cursor |
DefaultLinkNoDrop 用于链接操作的默认 Cursor ,指示当前不允许放置。 |
static Cursor |
DefaultMoveDrop 用于移动操作的默认 Cursor ,指示当前允许放置。 |
static Cursor |
DefaultMoveNoDrop 用于移动操作的默认 Cursor ,指示当前不允许放置。 |
构造方法摘要 | |
---|---|
DragSource() 创建一个新的 DragSource 。 |
方法摘要 | ||
---|---|---|
void |
addDragSourceListener(DragSourceListener dsl) 将指定的 DragSourceListener 添加到此 DragSource ,以接收在使用此 DragSource 所发起的拖动操作期间出现的拖动源事件。 |
|
void |
addDragSourceMotionListener(DragSourceMotionListener dsml) 将指定的 DragSourceMotionListener 添加到此 DragSource ,以接收在使用此 DragSource 所发起的拖动操作期间出现的拖动移动事件。 |
|
DragGestureRecognizer |
createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl) 创建一个新的 DragGestureRecognizer ,为此 DragSource 实现 DragGestureRecognizer 的默认抽象子类并在新创建的对象上设置指定的 Component 和 DragGestureListener 。 |
|
|
createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl) 创建一个新的 DragGestureRecognizer ,实现 DragGestureRecognizer 的指定抽象子类并在新创建的对象上设置指定的 Component 和 DragGestureListener 。 |
|
protected DragSourceContext |
createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl) 创建处理此拖动的 DragSourceContext 。 |
|
static DragSource |
getDefaultDragSource() 获得与基础平台关联的 DragSource 对象。 |
|
DragSourceListener[] |
getDragSourceListeners() 获得向此 DragSource 注册的所有 DragSourceListener 。 |
|
DragSourceMotionListener[] |
getDragSourceMotionListeners() 获得向此 DragSource 注册的所有 DragSourceMotionListener 。 |
|
static int |
getDragThreshold() 返回拖动操作移动阈值。 |
|
FlavorMap |
getFlavorMap() 此方法返回此 DragSource 的 FlavorMap 。 |
|
|
getListeners(Class<T> listenerType) 获得目前已在此 DragSource 上注册为 FooListener 的所有对象。 |
|
static boolean |
isDragImageSupported() 报告基础平台是否提供对拖动 Image 的支持。 |
|
void |
removeDragSourceListener(DragSourceListener dsl) 从此 DragSource 移除指定的 DragSourceListener 。 |
|
void |
removeDragSourceMotionListener(DragSourceMotionListener dsml) 从此 DragSource 移除指定的 DragSourceMotionListener 。 |
|
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl) 在给定发起拖动的 DragGestureEvent 、使用的初始 Cursor 、要拖动的 Image 、Image 原点距离触发时 Cursor 热点的偏移量、拖动的目标数据和 DragSourceListener 的情况下开始拖动。 |
|
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) 在给定发起拖动的 DragGestureEvent 、使用的初始 Cursor 、要拖动的 Image 、Image 原点距离触发时 Cursor 热点的偏移量、拖动的 Transferable 目标数据、DragSourceListener 和 FlavorMap 的情况下开始拖动。 |
|
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl) 在给定发起拖动的 DragGestureEvent 、使用的初始 Cursor 、拖动的 Transferable 目标数据和 DragSourceListener 的情况下开始拖动。 |
|
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) 在给定发起拖动的 DragGestureEvent 、使用的初始 Cursor 、拖动的 Transferable 目标数据、DragSourceListener 和 FlavorMap 的情况下开始拖动。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
DefaultCopyDrop
public static final Cursor DefaultCopyDrop
-
用于复制操作的默认
Cursor
,指示当前允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
DefaultMoveDrop
public static final Cursor DefaultMoveDrop
-
用于移动操作的默认
Cursor
,指示当前允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
DefaultLinkDrop
public static final Cursor DefaultLinkDrop
-
用于链接操作的默认
Cursor
,指示当前允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
DefaultCopyNoDrop
public static final Cursor DefaultCopyNoDrop
-
用于复制操作的默认
Cursor
,指示当前不允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
DefaultMoveNoDrop
public static final Cursor DefaultMoveNoDrop
-
用于移动操作的默认
Cursor
,指示当前不允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
DefaultLinkNoDrop
public static final Cursor DefaultLinkNoDrop
-
用于链接操作的默认
Cursor
,指示当前不允许放置。如果GraphicsEnvironment.isHeadless()
返回true
,则为null
。
构造方法详细信息 |
---|
DragSource
public DragSource() throws HeadlessException
-
创建一个新的
DragSource
。- 抛出:
-
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true - 另请参见:
-
GraphicsEnvironment.isHeadless()
方法详细信息 |
---|
getDefaultDragSource
public static DragSource getDefaultDragSource()
-
获得与基础平台关联的
DragSource
对象。 -
-
- 返回:
- 平台 DragSource
- 抛出:
-
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true - 另请参见:
-
GraphicsEnvironment.isHeadless()
isDragImageSupported
public static boolean isDragImageSupported()
-
报告基础平台是否提供对拖动
Image
的支持。 -
-
- 返回:
- 此平台是否提供对拖动 Image 的支持