文档

Java™教程
隐藏目录
演示 - BasicDnD
路径:使用Swing创建GUI
课程:拖放和数据传输
部分:默认的DnD支持

演示 - BasicDnD

现在我们来看一个简单的演示,名为BasicDnD,它向你展示了免费的功能。从屏幕截图中可以看到,BasicDnD包含一个表格、一个列表、一个树、一个颜色选择器、一个文本区域和一个文本字段。

所有这些组件都是开箱即用的标准组件,除了列表。这个列表已经定制,可以弹出一个对话框,显示接受拖放操作的位置。

以下区域可以接受拖放操作:

默认情况下,这些对象都没有启用默认的拖放功能。在启动时,你可以勾选“启用拖放”复选框,查看你可以免费获得的拖放行为。

基本拖放行为
这个图像已经缩小以适应页面。
点击图像以查看其原始尺寸。

试一试: 
  1. 点击“Launch”按钮,使用Java™ Web Start运行BasicDnD(下载JDK 7或更高版本)。或者,如果要自己编译和运行示例,请参考示例索引启动BasicDnD示例
  2. 在列表中选择一个项目,并按住鼠标按钮开始拖动。因为列表还没有启用拖放,所以不会发生任何事情。
  3. 选择“打开拖放”复选框。
  4. 按住鼠标按钮并开始拖动选定的项目。将文本放回列表中。如果列表实际上接受拖放,对话框将显示文本将出现的位置。(列表的默认行为是显示“不接受数据”光标。)
  5. 将选定的文本拖放到文本区域上。插入点通过闪烁的光标指示。此外,光标会改变以表示文本区域将接受文本作为副本。
  6. 释放鼠标并观察文本出现在文本区域中。
  7. 在文本区域中选择一些文本。
  8. 当光标位于选定文本上方时,按下鼠标按钮并开始拖动。
  9. 注意,这次出现了拖动操作的光标。成功将此文本拖放到另一个组件中将导致文本从原始组件中删除。
  10. 按住Ctrl键并再次在选定文本上按下。开始拖动,此时会出现复制光标。将光标移动到文本区域上并释放。文本出现在新位置,但不会从原始位置删除。Ctrl键可以用来将任何移动操作变为复制操作。
  11. 从颜色选择器中选择一种颜色。选定的颜色会出现在预览面板中。按住鼠标按钮在预览面板上的颜色上拖动到其他组件上。注意,这些组件都不接受颜色。
  12. 尝试将文本、颜色甚至文件拖放到列表中。对话框将报告尝试的操作。实际的拖放可以通过在BasicDnD.java源文件中取消注释的另外六行代码来实现。

接下来我们将看一下TransferHandler类,这是拖放机制的核心。


上一页: 默认的拖放支持
下一页: TransferHandler 类