返回介绍

软件包 java.awt.dnd

发布于 2019-10-04 09:50:12 字数 6696 浏览 1074 评论 0 收藏 0


Drag 和 Drop 是一种直接操作操作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。

请参见: 描述

接口摘要
Autoscroll在 DnD 操作期间,可能用户希望将操作目标放入一个可滚动的 GUI 控件区域中,而该区域当前对用户是不可见的。
DragGestureListener此接口源于 DragGestureRecognizer ,当该(子)类的对象检测到拖动启动动作时,调用此接口。
DragSourceListenerDragSourceListener 定义了事件接口,Drag 和 Drop 操作的始发端使用它来跟踪用户操作的状态,并通过 Drag 和 Drop 操作为用户提供合适的“拖动结束”反馈。
DragSourceMotionListener用于接收拖动操作期间鼠标移动事件的侦听器接口。
DropTargetListenerDropTargetListener 接口是 DropTarget 类所使用的回调接口,用于提供所涉及的 DropTarget 的 DnD 操作的通知。
类摘要
DnDConstants此类包含了表示 Drag 和 Drop 操作所执行的操作类型的常量值。
DragGestureEvent当特定的 DragGestureRecognizer 检测到它正在跟踪的 Component 上已发生与平台相关的拖动启动动作时,将 DragGestureEvent 传递给 DragGestureListener 的 dragGestureRecognized() 方法。
DragGestureRecognizerDragGestureRecognizer 是一个针对与平台相关的侦听器规范的抽象基类,它可以与特定 Component 关联以标识与平台相关的拖动开始动作。
DragSourceDragSource 是负责开始 Drag 和 Drop 操作的实体,可以用在如下场景中:

JVM 生命周期中每个 JVM 的一个默认实例。

DragSourceAdapter用于接收拖动源事件的抽象适配器类。
DragSourceContextDragSourceContext 类负责管理 Drag 和 Drop 协议的起始端。
DragSourceDragEvent通过 DragSourceContext ,将 DragSourceDragEventDragSourceContextPeer 传递给向 DragSourceContext 及其关联 DragSource 注册的 DragSourceListener

DragSourceDragEvent 报告可反映当前拖动操作状态的目标放置动作用户放置动作

DragSourceDropEvent通过 DragSourceContext ,将 DragSourceDropEventDragSourceContextPeer 传递给向 DragSourceContext 及其关联 DragSource 注册的 DragSourceListenerdragDropEnd 方法。
DragSourceEvent此类是 DragSourceDragEventDragSourceDropEvent 的基类。
DropTarget在 Drag 和 Drop 操作期间,当 Component 希望接受 drop 时, DropTargetComponent 有关联。
DropTarget.DropTargetAutoScroller此受保护的嵌套类实现自动滚动
DropTargetAdapter接收放置目标事件的抽象适配器类。
DropTargetContext每当与 Drag 和 Drop 操作相关的逻辑光标和与 DropTarget 相关的 Component 的可见几何结构重合时,就创建一个 DropTargetContext
DropTargetDragEvent通过 dragEnter() 和 dragOver() 方法将 DropTargetDragEvent 发送给 DropTargetListener
DropTargetDropEvent通过 DropTargetListener drop() 方法发送 DropTargetDropEvent
DropTargetEventDropTargetEventDropTargetDragEventDropTargetDropEvent 的基类。
MouseDragGestureRecognizerDragGestureRecognizer 的抽象子类,它定义了一个基于鼠标动作的 DragGestureRecognizer
异常摘要
InvalidDnDOperationExceptionjava.awt.dnd 包中的各种方法都会抛出此异常。

Drag 和 Drop 是一种直接操作操作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。Drag 和 Drop 通常由使用适当输入设备的用户的实际操作所驱动,它既提供在对 GUI 显示元素导航期间启用连续反馈(关于传输给用户的任何后续数据的可能结果)的机制,又提供支持任何后续数据协商和传输的设施。

此包定义了在 Java 中执行 Drag 和 Drop 操作所需的类和接口。它定义了用于拖动源和放置目标的类,以及用于传输正被拖动的数据的事件。此包还在整个 Drag 和 Drop 操作期间提供一种向用户提供可视反馈的方法。

典型的 Drag 和 Drop 操作可以分解为以下几种状态(未完全按顺序):

  • 存在与 GUI 中某个显示元素 ( Component ) 相关的 DragSource ,以启动对某个潜在 Transferable 数据的 Drag 和 Drop 操作。
  • 进入/离开一个或多个与 GUI 中显示元素(组件)相关的 DropTarget ,很可能要使用 Transferable 数据类型。
  • 为了跟踪和识别任何由用户在 Component 上启动的 Drag 操作,可以从 DragSource 获取 DragGestureRecognizer ,并让它与一个 Component 相关联。
  • 用户在 Component 上发起 Drag 操作,已注册的 DragGestureRecognizer 检测到该操作,并通知 DragGestureListener

    注:尽管此 API 一直认为拖放操作是由用户的实际操作激发的,但这并不排除由适当的 DragSource 实现发出的以编程方式驱动的 DnD 操作。此包包含用于识别鼠标设备操作的抽象类 MouseDragGestureRecognizer 。平台可以提供其他抽象子类,以支持其他输入设备或特定的 Component 类语义。

  • DragGestureListener 使得 DragSource 按用户的行为启动 Drag 和 Drop 操作,或者激活 GUI 光标,或呈现此操作主题项的 Image
  • 当用户对 GUI 中带相关 DropTargetComponent 进行定位时,根据受支持的操作和所涉及的数据类型, DragSource 接收通知以提供 "Drag Over" 反馈效果,而 " DropTarget " 接收通知以提供 "Drag Under" 反馈效果。

该操作本身可以在整个 GUI 层次结构中移动逻辑光标,交叉 GUI 组件的几何图形,并可能导致逻辑“Drag”光标进入、跨越、随后离开 Component 及相关的 DropTarget

DragSource 对象向用户显示“Drag Over”反馈,一般情况下是通过激活与逻辑光标相关的 GUI Cursor 来实现的。

DropTarget 对象向用户显示“Drag Under”反馈,一般情况下是通过在 GUI Cursor 下将动画呈现到相关 GUI Component 来实现的。

反馈结果的确认、数据转换的最终成败(只发生一种)是按如下方式参数化的:

  • 由用户选择的传输“操作”,并受 DragSourceDropTarget 支持:复制、移动或引用(链接)。
  • 通过 DragSource 所提供的数据类型集合和 DropTarget 可理解的数据类型集合的交集来实现。
  • 当用户终止 drag 操作时,一般会导致 Drop 操作成功, DragSourceDropTarget 都会接收到通知,该通知包含与 DragSource 相关的信息,并且通过 Transferable 对象导致信息的流通和信息类型的转换。
从以下版本开始:
1.2

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

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

发布评论

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