SWT中有关拖放操作的类都在org.eclipse.swt.dnd包中。该包中主要的接口和类如下所示:
类名 功 能 描 述
Clipboard 剪贴板类,可以实现对剪贴板的操作
DND 类似于SWT类,封装了拖放时所用的一些常量
DragSource 拖放源类,可将一个控件定义为拖放源
DropTarget 拖放目标类,可将一个空间定义为拖放目标
DragSourceListen和 拖放源控件时所触发的事件,触发事件的具体信息通过DragSourceEvent传递过来
DragSourceAdapter
DropSourceListen和 拖放目标控件时所触发的事件,触发事件的具体信息通过DragTargetEvent传递过来
DropSourceAdapter
Transfer 数据传输类,用于将Java数据转换为系统本地的数据,反之亦然。通常用于拖
放操作和剪贴板操作。通常使用其子类 TextTransfer类、FileTransfer类
和RTFTransfer类等
看似简单的拖放操作,其实过程相当复杂,现在就将一个拖放过程分解开来,分析一下拖放的过程。
1、要有一个拖放源,也就是”拖的是什么“。简单的理解就是可以进行拖放的控件。只有光标进入到可拖放
控件的区域,才可以开始拖放操作。SWT中使用DragSource类来定义一个拖放源对象。
2、还要有一个拖放目标,也就是”放到哪里“。简单的理解就是可接受源的目标控件。只有当光标进入到目标控件的区域时,才可以进行拖放的操作。SWT中使用DragTarget类来定义一个拖放目标对象。
3、要在拖和放操作之间搭建一个桥梁,将拖的数据放到目标对象中。
拖放操作无非是将源的数据放置到目标对象中,SWT中的处理是在拖的过程中将Java的数据转化为本地保存的全局变量数据,然后在放的过程中,再从本地保存的全局变量中将数据取出。SWT中使用Transfer类来定义一个转化数据的过程。
要想理解拖放的全过程,关键是要理解3个概念:
拖放源(DragSource)、传输数据(Transfer)、拖放目标(DragTarget)。
文章转载地址为:http://www.blogjava.net/kristen/archive/2007/08/07/135001.html
分享到:
相关推荐
除了上述核心包,SWT还提供了其他的辅助包,如org.eclipse.swt.dnd用于拖放操作,org.eclipse.swt.printing用于打印功能,以及org.eclipse.swt.accessibility支持无障碍访问。 JFace是在SWT基础上构建的一个高级...
### SWT-Designer教程知识点概述 #### 一、SWT-Designer简介 SWT-Designer是一种强大的工具,专门用于简化基于SWT(Standard Widget Toolkit)框架的用户界面设计过程。SWT是一个高效的图形库,用于构建跨平台的...
在本案例中,我们将讨论如何使用SWT和JFace来创建一个简单的FTP客户端。 首先,我们需要导入必要的库,包括Apache Commons Net库,它提供了FTP客户端功能,以及Eclipse的JFace和SWT库,它们提供了GUI组件和交互模型...
### draw2d与swt知识点概述 #### 一、Draw2d与SWT简介 - **Draw2d**: 是Eclipse平台中一个重要的组件库,主要用于构建复杂的图形用户界面(GUI),尤其适用于需要绘制图形、节点等复杂结构的应用场景。通过Draw2d...
在介绍AWT、Swing、SWT之前,我们先来简单了解一下图形用户界面(GUI)的概念及其在Java开发中的重要性。随着计算机技术的发展,用户与计算机之间的交互方式也在不断进化。从最初的命令行界面(CLI)到如今广泛使用的...
它为开发人员提供了一个直观的拖放界面来设计 SWT 和 JFace 控件,并自动生成相应的 Java 代码。这使得 GUI 开发变得更加高效、快捷。 #### GUI 构建工具概述 SWT Designer 作为一种图形用户界面构建工具,旨在...
- **SWT Designer的解决方案**:通过将SWT Designer作为插件集成到Eclipse中,解决了这一问题,使得界面设计更加直观高效。 #### 三、SWT Designer插件介绍 - **获取方式**: - 免费版:可从官方网站下载受限版本...
在使用Jigloo开发SWT应用的过程中,可能会遇到一些常见的问题,这些问题通常可以通过查阅官方文档或社区资源来解决。 ##### 18.4.5 Jigloo开发Swing应用 除了SWT之外,Jigloo也可以用来开发Swing应用程序,提供了...
3. **丰富的组件**:SWT提供了各种常见的用户界面元素,如按钮、文本框、列表、树形视图、表格等,同时支持拖放操作、剪贴板交互等高级功能。 4. **事件驱动模型**:SWT采用事件驱动模型,允许开发者对用户交互进行...
第10章 SWT中的拖放支持 211 10.1 可拖放的树 211 10.2 拖放原理概述 214 10.3 拖放源(DragSource) 215 10.3.1 创建拖放源对象 215 10.3.2 定义拖放源数据传输类型 215 10.3.3 处理拖放源事件 216 ...
6. **拖放支持**:支持拖放操作,例如拖放图片、文本等元素到编辑器中。 7. **链接监听**:可以通过监听链接点击事件来实现特定功能,如打开新窗口等。 8. **拼写检查**:提供全篇或实时的拼写检查功能,支持多达 29...
2. **SWT/JFace概述** (04第2章 SWT/JFace概述.pdf) - SWT(Standard Widget Toolkit)是Eclipse提供的底层图形用户界面库,它提供了与操作系统紧密集成的UI组件。 - JFace是建立在SWT之上的更高层次的API,简化...
- SWT还支持一些高级功能,比如使用System Tray、构建不规则形状的窗口等,这些特性可以帮助开发者创建更加独特和吸引人的应用程序。 #### 三、容器与布局管理器 **5.1 Composite** - Composite是一个容器控件,它...
### Eclipse IDE及其插件概述 #### 一、Eclipse简介 Eclipse是一个开源的、可扩展的集成开发环境(IDE),主要用于Java应用开发,但通过安装不同的插件,也可支持其他编程语言,如C++、PHP等。它由IBM公司发起,并...
13. **高级特性**:涵盖了SWT和JFace的一些高级功能,如拖放操作、打印支持、国际化和本地化等。 14. **超越SWT和JFace**:这部分可能涉及了如何将SWT和JFace与其他技术(如RCP、EMF、GMF等)集成,以构建更复杂的...
它提供了一种直观的方法来创建用户界面,类似于其他可视化开发工具中的拖放功能。 - **官方网站**:http://cloudgarden.com/jigloo/index.html - **适用版本**:Java 1.4 或 Java 1.5 - **安装步骤**:下载插件并...
SWTDeginer提供了直观的拖放界面设计,支持实时预览,大大简化了SWT应用程序的开发过程。通过设置组件属性、绑定事件处理器,可以快速构建复杂的用户界面。 **3.1.4 使用SWTDeginer进行界面开发的注意事项** - ...