﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-泪的天使-Java's Blog-随笔分类-Eclipse学习笔记</title><link>http://www.blogjava.net/kristen/category/24696.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 08 Aug 2007 10:27:51 GMT</lastBuildDate><pubDate>Wed, 08 Aug 2007 10:27:51 GMT</pubDate><ttl>60</ttl><item><title>Eclipse SWT/JFace 核心应用学习笔记 第一天</title><link>http://www.blogjava.net/kristen/archive/2007/08/07/135001.html</link><dc:creator>百花岛主</dc:creator><author>百花岛主</author><pubDate>Tue, 07 Aug 2007 08:55:00 GMT</pubDate><guid>http://www.blogjava.net/kristen/archive/2007/08/07/135001.html</guid><wfw:comment>http://www.blogjava.net/kristen/comments/135001.html</wfw:comment><comments>http://www.blogjava.net/kristen/archive/2007/08/07/135001.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kristen/comments/commentRss/135001.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kristen/services/trackbacks/135001.html</trackback:ping><description><![CDATA[<p>SWT中的拖放支持 － 拖放原理概述<br><br>SWT中有关拖放操作的类都在org.eclipse.swt.dnd包中。该包中主要的接口和类如下所示：<br><br>类名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 功 能 描 述</p>
Clipboard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 剪贴板类，可以实现对剪贴板的操作<br><br>DND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;类似于SWT类，封装了拖放时所用的一些常量<br><br>DragSource&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 拖放源类，可将一个控件定义为拖放源<br><br>DropTarget&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 拖放目标类，可将一个空间定义为拖放目标<br><br>DragSourceListen和&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 拖放源控件时所触发的事件，触发事件的具体信息通过DragSourceEvent传递过来<br>DragSourceAdapter<br><br>DropSourceListen和&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;拖放目标控件时所触发的事件，触发事件的具体信息通过DragTargetEvent传递过来<br>DropSourceAdapter<br><br>Transfer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据传输类，用于将Java数据转换为系统本地的数据，反之亦然。通常用于拖<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 放操作和剪贴板操作。通常使用其子类 TextTransfer类、FileTransfer类<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 和RTFTransfer类等<br><br>看似简单的拖放操作，其实过程相当复杂，现在就将一个拖放过程分解开来，分析一下拖放的过程。<br>1、要有一个拖放源，也就是&#8221;拖的是什么&#8220;。简单的理解就是可以进行拖放的控件。只有光标进入到可拖放<br>控件的区域，才可以开始拖放操作。SWT中使用DragSource类来定义一个拖放源对象。<br>2、还要有一个拖放目标，也就是&#8221;放到哪里&#8220;。简单的理解就是可接受源的目标控件。只有当光标进入到目标控件的区域时，才可以进行拖放的操作。SWT中使用DragTarget类来定义一个拖放目标对象。<br>3、要在拖和放操作之间搭建一个桥梁，将拖的数据放到目标对象中。<br><br>拖放操作无非是将源的数据放置到目标对象中，SWT中的处理是在拖的过程中将Java的数据转化为本地保存的全局变量数据，然后在放的过程中，再从本地保存的全局变量中将数据取出。SWT中使用Transfer类来定义一个转化数据的过程。<br><br>要想理解拖放的全过程，关键是要理解3个概念：<br>拖放源(DragSource)、传输数据(Transfer)、拖放目标（DragTarget)。
<img src ="http://www.blogjava.net/kristen/aggbug/135001.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kristen/" target="_blank">百花岛主</a> 2007-08-07 16:55 <a href="http://www.blogjava.net/kristen/archive/2007/08/07/135001.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>