所有类


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 的默认抽象子类并在新创建的对象上设置指定的 ComponentDragGestureListener
<T extends DragGestureRecognizer>
T
createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
          创建一个新的 DragGestureRecognizer,实现 DragGestureRecognizer 的指定抽象子类并在新创建的对象上设置指定的 ComponentDragGestureListener
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()
          此方法返回此 DragSourceFlavorMap
<T extends EventListener>
T[]
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、要拖动的 ImageImage 原点距离触发时 Cursor 热点的偏移量、拖动的目标数据和 DragSourceListener 的情况下开始拖动。
 void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
          在给定发起拖动的 DragGestureEvent、使用的初始 Cursor、要拖动的 ImageImage 原点距离触发时 Cursor 热点的偏移量、拖动的 Transferable 目标数据、DragSourceListenerFlavorMap 的情况下开始拖动。
 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 目标数据、DragSourceListenerFlavorMap 的情况下开始拖动。
 
从类 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

另请参见:
GraphicsEnvironment.isHeadless()

DefaultMoveDrop

public static final Cursor DefaultMoveDrop
用于移动操作的默认 Cursor,指示当前允许放置。如果 GraphicsEnvironment.isHeadless() 返回 true,则为 null

另请参见:
GraphicsEnvironment.isHeadless()

DefaultLinkDrop

public static final Cursor DefaultLinkDrop
用于链接操作的默认 Cursor,指示当前允许放置。如果 GraphicsEnvironment.isHeadless() 返回 true,则为 null

另请参见:
GraphicsEnvironment.isHeadless()

DefaultCopyNoDrop

public static final Cursor DefaultCopyNoDrop
用于复制操作的默认 Cursor,指示当前不允许放置。如果 GraphicsEnvironment.isHeadless() 返回 true,则为 null

另请参见:
GraphicsEnvironment.isHeadless()

DefaultMoveNoDrop

public static final Cursor DefaultMoveNoDrop
用于移动操作的默认 Cursor,指示当前不允许放置。如果 GraphicsEnvironment.isHeadless() 返回 true,则为 null

另请参见:
GraphicsEnvironment.isHeadless()

DefaultLinkNoDrop

public static final Cursor DefaultLinkNoDrop
用于链接操作的默认 Cursor,指示当前不允许放置。如果 GraphicsEnvironment.isHeadless() 返回 true,则为 null

另请参见:
GraphicsEnvironment.isHeadless()
构造方法详细信息

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 的支持

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部