﻿<?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-The Spark of Thinking-文章分类-RCP</title><link>http://www.blogjava.net/sharkafeng/category/13281.html</link><description>Focus on Eclipse Tools.</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:57:41 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:57:41 GMT</pubDate><ttl>60</ttl><item><title>如何在Eclipse RCP中使用第三方包(转)</title><link>http://www.blogjava.net/sharkafeng/articles/59274.html</link><dc:creator>The Spark of Thinking</dc:creator><author>The Spark of Thinking</author><pubDate>Thu, 20 Jul 2006 10:17:00 GMT</pubDate><guid>http://www.blogjava.net/sharkafeng/articles/59274.html</guid><wfw:comment>http://www.blogjava.net/sharkafeng/comments/59274.html</wfw:comment><comments>http://www.blogjava.net/sharkafeng/articles/59274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sharkafeng/comments/commentRss/59274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sharkafeng/services/trackbacks/59274.html</trackback:ping><description><![CDATA[
		<p>
				<span class="tpc_content" twffan="done">
						<font size="2">我们拿一个简单的示例来说明，这个示例使用的是eclipse rcp的template中最简单的一个，也就是大家都见过的Hello,RCP。我用的eclipse版本是3.2M2。<br /><br />为了便于说明，我自己写了一个java文件然后打包成jar，再在rcp程序中调用它。这个程序是这样的：<br /><br /><br /><font color="#ff0000">Code:</font><br /></font>
						<textarea style="WIDTH: 100%" name="textfield" rows="10">package demo;

public class Hello {
       public static String sayHello()
       {
              return "hello,world";
       }
}
</textarea>
						<br />
						<font color="#ff0000">[Ctrl+A Select All]</font>
						<br />
						<br />
						<br />
						<br />就这么简单，打包后做成一个hello.jar。具体过程略去不谈。<br /><br />然后我们新建一个rcp application，具体过程也略去不谈。这里需要提醒大家的是rcp工程的名字最好用小写英文，用大写的话可能会出一些问题，至少在我用的这个版本是这样。<br /><br />建好以后在下面新建一个lib目录作为存放第三方库的目录。再把前面做好的hello.jar拷贝过去。参见下图。<br /></span>
		</p>
		<p align="center">
				<span class="tpc_content" twffan="done">
						<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/jayliu/121129/o_68_181.jpg" twffan="done" />
				</span>
		</p>
		<p align="center">
				<span class="tpc_content" twffan="done">图1 
<p><br />在RCP工程中，你可以有两种办法把jar加入到class path中，你可以任选一种：<br /></p></span>
		</p>
		<p>
		</p>
		<p>
				<br />在RCP工程中，你可以有两种办法把jar加入到class path中，你可以任选一种：<br /></p>
		<p>
		</p>
		<p>
				<br />在RCP工程中，你可以有两种办法把jar加入到class path中，你可以任选一种：<br /></p>
		<ol type="1">
				<li>和普通的工程一样，加入到build path里面，参见下面图2 
</li>
				<li>打开plugin的Build页面，注意到最下面有个“Extra Classpath Entries”了么？展开以后选Add Jars把需要的jar加进去，有同样的效果，参见图3</li>
		</ol>
		<p>
				<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/jayliu/121129/o_68_182.jpg" twffan="done" />
		</p>
		<p align="center">
				<br />
		</p>
		<p align="center">图2</p>
		<p align="center">
				<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/jayliu/121129/o_68_183.jpg" twffan="done" />
		</p>
		<p align="center">图3</p>
		<p align="left">
				<br />我在这里说“任选一种”的意思是不要两种办法同时用，否则工程会报错。<br /><br />在上面的工作都做完之后，仍然在plugin的Build页面上，左边的Binary Build下面把你程序的输出目录（我的工程里面是bin）和你的jar所在的目录（我的工程里面是lib）打勾，这样输出时候会包含你编译后的文件以及第三方库。仍然参照第三张图<br /><br />然后切换到plugin的Runtime页面，在右下角的Classpath里面把你程序的输出目录（我的程序里面是bin）和你所有要包含的jar文件（我的程序里面是lib/hello.jar）都加进去。参照图4，这样就基本上完成了。</p>
		<p align="center">
				<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/jayliu/121129/o_68_185.jpg" twffan="done" />
				<br />
				<br />图4</p>
		<p align="left">之后所要做的事情就是修改程序了，我在这里只是简单地把程序的标题做了修改，找到ApplicationWorkbenchWindowAdvisor这个类，把preWindowOpen修改成下面这样：<br /><br /><br /><font color="#ff0000">Code:</font><br /><textarea style="WIDTH: 100%" name="textfield" rows="10">  public void preWindowOpen() {
        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
        configurer.setInitialSize(new Point(400, 300));
        configurer.setShowCoolBar(false);
        configurer.setShowStatusLine(false);
        configurer.setTitle(Hello.sayHello());
    }
</textarea><br /><font color="#ff0000">[Ctrl+A Select All]</font><br /><br /><br /><br />这个示例就完成了，之后产生product文件后export出来就可以看到结果了。过程也略去不谈。<br /><br />运行以后会发现标题栏从“Hello,RCP”变成了“hello,world”，参见第图5</p>
		<p align="center">
				<img alt="" src="http://blog.csdn.net/images/blog_csdn_net/jayliu/121129/o_68_186.jpg" twffan="done" />
		</p>
		<p align="center">图5</p>
		<p align="left">注：本文最初发表于 <b><a href="http://bbs.rcp.cn/index.php">中国Eclipse社区</a></b>，欢迎大家访问<br /></p>
<img src ="http://www.blogjava.net/sharkafeng/aggbug/59274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sharkafeng/" target="_blank">The Spark of Thinking</a> 2006-07-20 18:17 <a href="http://www.blogjava.net/sharkafeng/articles/59274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>