﻿<?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-Eclipse dev</title><link>http://www.blogjava.net/jackgogogo/</link><description>Dengues Studio Dev</description><language>zh-cn</language><lastBuildDate>Fri, 21 Nov 2008 23:00:00 GMT</lastBuildDate><pubDate>Fri, 21 Nov 2008 23:00:00 GMT</pubDate><ttl>60</ttl><item><title>[Dengues]Eclipse中的IFile与File对象的转换问题</title><link>http://www.blogjava.net/jackgogogo/archive/2007/12/18/Eclipse_IFile_File.html</link><dc:creator>jackgogogo(Dengues Studio)</dc:creator><author>jackgogogo(Dengues Studio)</author><pubDate>Tue, 18 Dec 2007 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/jackgogogo/archive/2007/12/18/Eclipse_IFile_File.html</guid><wfw:comment>http://www.blogjava.net/jackgogogo/comments/168483.html</wfw:comment><comments>http://www.blogjava.net/jackgogogo/archive/2007/12/18/Eclipse_IFile_File.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jackgogogo/comments/commentRss/168483.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jackgogogo/services/trackbacks/168483.html</trackback:ping><description><![CDATA[之前有同事问到IFile与File之间的互换问题，当时自己也不清楚，今天在阅读代码的时候发现了他们之间的互换是非常方便的。<br />
<br />
IProject fsProject = ResourceModelUtils.getProject(project);<br />
IFolder tmpFolder = ResourceUtils.getFolder(fsProject, RepositoryConstants.TEMP_DIRECTORY, true);<br />
String tmpFilename = "DOC" + documentationItem.getProperty().getId();<br />
<br />
IFile fileTmp = tmpFolder.getFile(tmpFilename);//Get IFile reference by file name;<br />
File file = fileTmp.getLocation().toFile(); //Get File reference by IFile reference.<br />
File newFile = new File(fileTmp.getLocation().toOSString()); //Convert IFile to File.<br />
<br />
IFile的功能比File强大且方便多了。<br />
<br />
爱生活，爱Eclipse!
 <img src ="http://www.blogjava.net/jackgogogo/aggbug/168483.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jackgogogo/" target="_blank">jackgogogo(Dengues Studio)</a> 2007-12-18 14:24 <a href="http://www.blogjava.net/jackgogogo/archive/2007/12/18/Eclipse_IFile_File.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Dengues] SWT/JFace实践：为Composite添加滚动条效果（ScrolledComposite）使用心得</title><link>http://www.blogjava.net/jackgogogo/archive/2007/10/30/156841.html</link><dc:creator>jackgogogo(Dengues Studio)</dc:creator><author>jackgogogo(Dengues Studio)</author><pubDate>Tue, 30 Oct 2007 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/jackgogogo/archive/2007/10/30/156841.html</guid><wfw:comment>http://www.blogjava.net/jackgogogo/comments/156841.html</wfw:comment><comments>http://www.blogjava.net/jackgogogo/archive/2007/10/30/156841.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/jackgogogo/comments/commentRss/156841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jackgogogo/services/trackbacks/156841.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 工作中一个任务是为一个已经有的Composite添加滚动条，原以为可以这样实现：<br />
&nbsp;&nbsp;&nbsp; Composite scrollabledComposite = new Composite(parent, SWT.H_SCROLL | SWT.V_SCROLL);<br />
&nbsp;&nbsp;&nbsp;&nbsp; 再设置一下其它的参数就可以了，谁知这样是可以添加滚动条，但是滚动条里的Composite根本不会跟着动；于是，查API，发现有ScrolledComposite这个类，好家伙，这个类里的注释连main () 方法都提供了，正点！</p>
<p>于是，我的代码如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentComposite.setLayout(new FillLayout());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScrolledComposite scrolledComposite = new ScrolledComposite(parentComposite,&nbsp; SWT.H_SCROLL|SWT.V_SCROLL);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Composite mainComposite = new Composite(scrolledComposite,SWT.NONE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolledComposite.setContent(mainComposite);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mainComposite.setBackground(Display.getCurrent().getSystemColor&nbsp;(SWT.COLOR_WHITE));// White color<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mainComposite.setLayout(new GridLayout(1,true));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GridData data = new GridData(GridData.FILL_BOTH);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mainComposite.setLayoutData(data);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Composite topComposite = new Composite(mainComposite, SWT.BORDER);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; topComposite.setLayout(new GridLayout(2, false));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; topComposite.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));// White color</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reloadBtn = new Button(topComposite, SWT.PUSH);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reloadBtn.setText("&amp;Reload from preferences");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reloadBtn.setToolTipText("Reload values from preference page(Shift+R)");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saveBtn = new Button(topComposite, SWT.PUSH);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saveBtn.setText("&amp;Save to preferences");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saveBtn.setToolTipText("save values to preference page(Shift+S)");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolledComposite.setExpandHorizontal(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolledComposite.setExpandVertical(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolledComposite.setMinWidth(800);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolledComposite.setMinHeight(400);</p>
<p><br />
&nbsp;<span style="color: red">总结：<br />
</span>&nbsp;1）在为Composite添加滚动条时，最上面的Composite的布局需设为FillLayout();<br />
&nbsp;2) 不要直接往scrolledComposite上面添加控件;<br />
&nbsp;3) 在创建完ScrolledComposite后不要忘记使用setContent()方法去设置滚动条所控制的Composite;<br />
&nbsp;4) 最重要的是,Scrolledcomposite的以下四个参数必须设置才能出现滚动条：<br />
&nbsp;&nbsp;&nbsp; scrolledComposite.setExpandHorizontal(true);<br />
&nbsp;&nbsp;&nbsp; scrolledComposite.setExpandVertical(true);<br />
&nbsp;&nbsp;&nbsp; scrolledComposite.setMinWidth(800);<br />
&nbsp;&nbsp;&nbsp; scrolledComposite.setMinHeight(400);<br />
&nbsp;&nbsp;&nbsp; 只有前两项设为true之后，后面的两项才起作用。<br />
5） 对于setMinWidth()和setMinHeight()方法，API的注释中是说用来设置滚动条出现的最小宽度和高度，但是我试了一下，有时出现滚动条了，<br />
&nbsp;&nbsp;&nbsp; 但是拖动滚动条还是不能显示Composite里面的全部内容，于是把setMinWidth()和setMinHeight()设大一些就可以了，个人感觉滚动条出现的<br />
&nbsp;&nbsp;&nbsp; 宽度和高度检测Scrolledcomposite自己已经实现了，这里的宽度和高度是指拖动滚动条里可以看到的Composite的最大宽度和最大高度。</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/jackgogogo/aggbug/156841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jackgogogo/" target="_blank">jackgogogo(Dengues Studio)</a> 2007-10-30 09:20 <a href="http://www.blogjava.net/jackgogogo/archive/2007/10/30/156841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Degues Studio BLOG 正式开通！</title><link>http://www.blogjava.net/jackgogogo/archive/2007/10/23/155365.html</link><dc:creator>jackgogogo(Dengues Studio)</dc:creator><author>jackgogogo(Dengues Studio)</author><pubDate>Tue, 23 Oct 2007 10:08:00 GMT</pubDate><guid>http://www.blogjava.net/jackgogogo/archive/2007/10/23/155365.html</guid><wfw:comment>http://www.blogjava.net/jackgogogo/comments/155365.html</wfw:comment><comments>http://www.blogjava.net/jackgogogo/archive/2007/10/23/155365.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jackgogogo/comments/commentRss/155365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jackgogogo/services/trackbacks/155365.html</trackback:ping><description><![CDATA[可喜可贺，Dengues studio的BLOG正式开通了！http://dengues.blogjava.net.<br />
<img src ="http://www.blogjava.net/jackgogogo/aggbug/155365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jackgogogo/" target="_blank">jackgogogo(Dengues Studio)</a> 2007-10-23 18:08 <a href="http://www.blogjava.net/jackgogogo/archive/2007/10/23/155365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>