返回介绍

java.awt.dnd 类 DragSourceContext

发布于 2019-10-04 09:50:10 字数 18470 浏览 828 评论 0 收藏 0

java.lang.Object
  └java.awt.dnd.DragSourceContext
所有已实现的接口:
DragSourceListener, DragSourceMotionListener, Serializable, EventListener

public class DragSourceContext
extends Object
 
implements DragSourceListener, DragSourceMotionListener, Serializable
 

DragSourceContext 类负责管理 Drag 和 Drop 协议的起始端。特别是负责管理给 DragSourceListenerDragSourceMotionListener 的拖动事件通知,并提供表示拖动操作源数据的 Transferable

注意, DragSourceContext 自行实现 DragSourceListenerDragSourceMotionListener 接口。这就允许由 DragSource 所创建的平台同位体( DragSourceContextPeer 实例)能够在正在进行的操作中通知 DragSourceContext 状态改变。从而允许将 DragSourceContext 本身插入平台和拖动操作初始程序所提供的侦听器之间。

从以下版本开始:
1.2
另请参见:
DragSourceListener , DragSourceMotionListener , 序列化表格

字段摘要
protected staticintCHANGED

updateCurrentCursor() 使用的 int 值,指示用户操作已改变。

protected staticintDEFAULT

updateCurrentCursor() 使用的 int 值,指示应该将该 Cursor 改为默认(不放置)的 Cursor

protected staticintENTER

updateCurrentCursor() 使用的 int 值,指示该 Cursor 已进入 DropTarget

protected staticintOVER

updateCurrentCursor() 使用的 int 值,指示该 Cursor 处于 DropTarget 上。

构造方法摘要
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeerdscp, DragGestureEventtrigger, CursordragCursor, ImagedragImage, Pointoffset, Transferablet, DragSourceListenerdsl)

DragSource 进行调用,此构造方法创建一个 DragSourceContext ,使其具有给定此 Drag 的 DragSourceContextPeer 、触发该 Drag 的 DragGestureEvent 、用于该 Drag 的初始 Cursor 、进行 Drag 时显示的 Image (可选)、 Image 原点与触发事件时距离热点的偏移量、 Transferable 目标数据和 Drag 和 Drop 操作期间使用的 DragSourceListener

方法摘要
voidaddDragSourceListener(DragSourceListenerdsl)

如果尚未将 DragSourceListener 添加到此 DragSourceContext ,则添加一个。

voiddragDropEnd(DragSourceDropEventdsde)

在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragDropEnd ,并将指定的 DragSourceDropEvent 传递给它们。

voiddragEnter(DragSourceDragEventdsde)

在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragEnter ,并将指定的 DragSourceDragEvent 传递给它们。

voiddragExit(DragSourceEventdse)

在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragExit ,并将指定的 DragSourceEvent 传递给它们。

voiddragMouseMoved(DragSourceDragEventdsde)

在向与此 DragSourceContext 关联的 DragSource 注册的 DragSourceMotionListener 上调用 dragMouseMoved ,并将指定的 DragSourceDragEvent 传递给它们。

voiddragOver(DragSourceDragEventdsde)

在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceContext 上调用 dragOver ,并将指定的 DragSourceDragEvent 传递给它们。

voiddropActionChanged(DragSourceDragEventdsde)

在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dropActionChanged ,并将指定的 DragSourceDragEvent 传递给它们。

ComponentgetComponent()

返回与此 DragSourceContext 相关联的 Component

CursorgetCursor()

返回当前的拖动 Cursor

DragSourcegetDragSource()

返回实例化此 DragSourceContextDragSource

intgetSourceActions()

返回 DnDConstants 的位掩码,表示拖动源针对与此 DragSourceContext 关联的拖动操作所支持的放置动作集合。

TransferablegetTransferable()

返回与此 DragSourceContext 关联的 Transferable

DragGestureEventgetTrigger()

返回最初触发该拖动的 DragGestureEvent

voidremoveDragSourceListener(DragSourceListenerdsl)

从此 DragSourceContext 移除指定的 DragSourceListener

voidsetCursor(Cursorc)

将此拖动操作的光标设置为指定的 Cursor 如果指定的 Cursornull ,则为此拖动操作激活默认的拖动光标行为,否则停用该默认行为。

voidtransferablesFlavorsChanged()

通知同位体该 TransferableDataFlavor 已改变。

protected voidupdateCurrentCursor(intdropOp, inttargetAct, intstatus)

如果默认的拖动光标行为处于活动状态,则此方法为指定的选定操作、支持的动作和状态设置默认拖动光标,否则此方法不执行任何操作。

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

DEFAULT

protected static final int DEFAULT
updateCurrentCursor() 使用的 int 值,指示应该将该 Cursor 改为默认(不放置)的 Cursor
另请参见:
常量字段值

ENTER

protected static final int ENTER
updateCurrentCursor() 使用的 int 值,指示该 Cursor 已进入 DropTarget
另请参见:
常量字段值

OVER

protected static final int OVER
updateCurrentCursor() 使用的 int 值,指示该 Cursor 处于 DropTarget 上。
另请参见:
常量字段值

CHANGED

protected static final int CHANGED
updateCurrentCursor() 使用的 int 值,指示用户操作已改变。
另请参见:
常量字段值

构造方法详细信息

DragSourceContext

public DragSourceContext(java.awt.dnd.peer.DragSourceContextPeerdscp,
                         DragGestureEventtrigger,
                         CursordragCursor,
                         ImagedragImage,
                         Pointoffset,
                         Transferablet,
                         DragSourceListenerdsl)
DragSource 进行调用,此构造方法创建一个 DragSourceContext ,使其具有给定此 Drag 的 DragSourceContextPeer 、触发该 Drag 的 DragGestureEvent 、用于该 Drag 的初始 Cursor 、进行 Drag 时显示的 Image (可选)、 Image 原点与触发事件时距离热点的偏移量、 Transferable 目标数据和 Drag 和 Drop 操作期间使用的 DragSourceListener 。 如果 DragSourceContextPeernull ,则抛出 NullPointerException 。 如果 DragGestureEventnull ,则抛出 NullPointerException 。 如果 Cursornull ,则不抛出异常并且为此次拖动操作激活默认的拖动光标行为。如果 Imagenull ,则不抛出异常。如果 Image 不为 null 并且 offset 为 null ,则抛出 NullPointerException 。 如果 Transferablenull ,则抛出 NullPointerException 。 如果 DragSourceListenernull ,则不抛出异常。
参数:
dscp - 此拖动操作的 DragSourceContextPeer
trigger - 触发事件
dragCursor - 初始的 Cursor
dragImage - 要拖动的 Image (或者为 null
offset - 图像原点与触发事件时距离热点的偏移量
t - Transferable
dsl - DragSourceListener
抛出:
IllegalArgumentException - 如果与触发事件相关联的 Componentnull
IllegalArgumentException - 如果触发事件的 DragSourcenull
IllegalArgumentException - 如果该触发事件的拖动动作为 DnDConstants.ACTION_NONE
IllegalArgumentException - 如果与触发事件相关联的 DragGestureRecognizer 的源动作等于 DnDConstants.ACTION_NONE
NullPointerException - 如果 dscp、trigger 或 t 为 null,或者如果 dragImage 为非 null 并且 offset 为 null

方法详细信息

getDragSource

public DragSource getDragSource()
返回实例化此 DragSourceContextDragSource
返回:
实例化此 DragSourceContextDragSource

getComponent

public Component getComponent()
返回与此 DragSourceContext 相关联的 Component
返回:
启动拖动的 Component

getTrigger

public DragGestureEvent getTrigger()
返回最初触发该拖动的 DragGestureEvent
返回:
触发拖动的 Event

getSourceActions

public int getSourceActions()
返回 DnDConstants 的位掩码,表示拖动源针对与此 DragSourceContext 关联的拖动操作所支持的放置动作集合。
返回:
拖动源支持的放置动作

setCursor

public void setCursor(Cursorc)
将此拖动操作的光标设置为指定的 Cursor 如果指定的 Cursornull ,则为此拖动操作激活默认的拖动光标行为,否则停用该默认行为。
参数:
c - 要显示的 Cursor ,或者为 null 以激活默认的拖动光标行为

getCursor

public Cursor getCursor()
返回当前的拖动 Cursor
返回:
当前的拖动 Cursor

addDragSourceListener

public void addDragSourceListener(DragSourceListenerdsl)
                           throws TooManyListenersException
如果尚未将 DragSourceListener 添加到此 DragSourceContext ,则添加一个。如果 DragSourceListener 已存在,则此方法抛出 TooManyListenersException
参数:
dsl - 要添加的 DragSourceListener 。注意,虽然不禁止 null ,但它作为参数是不可接受的值。
抛出:
TooManyListenersException - 如果已添加 DragSourceListener
TooManyListenersException

removeDragSourceListener

public void removeDragSourceListener(DragSourceListenerdsl)
从此 DragSourceContext 移除指定的 DragSourceListener
参数:
dsl - 要移除的 DragSourceListener ;注意,虽然不禁止 null ,但它作为参数是不可接受的值。

transferablesFlavorsChanged

public void transferablesFlavorsChanged()
通知同位体该 TransferableDataFlavor 已改变。

dragEnter

public void dragEnter(DragSourceDragEventdsde)
在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragEnter ,并将指定的 DragSourceDragEvent 传递给它们。
指定者:
接口 DragSourceListener 中的 dragEnter
参数:
dsde - DragSourceDragEvent

dragOver

public void dragOver(DragSourceDragEventdsde)
在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceContext 上调用 dragOver ,并将指定的 DragSourceDragEvent 传递给它们。
指定者:
接口 DragSourceListener 中的 dragOver
参数:
dsde - DragSourceDragEvent

dragExit

public void dragExit(DragSourceEventdse)
在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragExit ,并将指定的 DragSourceEvent 传递给它们。
指定者:
接口 DragSourceListener 中的 dragExit
参数:
dse - DragSourceEvent

dropActionChanged

public void dropActionChanged(DragSourceDragEventdsde)
在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dropActionChanged ,并将指定的 DragSourceDragEvent 传递给它们。
指定者:
接口 DragSourceListener 中的 dropActionChanged
参数:
dsde - DragSourceDragEvent

dragDropEnd

public void dragDropEnd(DragSourceDropEventdsde)
在向此 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener 上调用 dragDropEnd ,并将指定的 DragSourceDropEvent 传递给它们。
指定者:
接口 DragSourceListener 中的 dragDropEnd
参数:
dsde - DragSourceDropEvent

dragMouseMoved

public void dragMouseMoved(DragSourceDragEventdsde)
在向与此 DragSourceContext 关联的 DragSource 注册的 DragSourceMotionListener 上调用 dragMouseMoved ,并将指定的 DragSourceDragEvent 传递给它们。
指定者:
接口 DragSourceMotionListener 中的 dragMouseMoved
参数:
dsde - DragSourceDragEvent
从以下版本开始:
1.4

getTransferable

public Transferable getTransferable()
返回与此 DragSourceContext 关联的 Transferable
返回:
Transferable

updateCurrentCursor

protected void updateCurrentCursor(intdropOp,
                                   inttargetAct,
                                   intstatus)
如果默认的拖动光标行为处于活动状态,则此方法为指定的选定操作、支持的动作和状态设置默认拖动光标,否则此方法不执行任何操作。
参数:
dropOp - 用户的当前选定操作
targetAct - 当前目标支持的动作
status - 常量

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文