﻿<?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</title><link>http://www.blogjava.net/jr4e/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 12:21:40 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 12:21:40 GMT</pubDate><ttl>60</ttl><item><title>NameManager的实现</title><link>http://www.blogjava.net/jr4e/archive/2008/09/23/230611.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Tue, 23 Sep 2008 03:44:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/09/23/230611.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/230611.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/09/23/230611.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/230611.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/230611.html</trackback:ping><description><![CDATA[public class NameManager implements INameManager {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private Set namePool = new HashSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>&nbsp;&nbsp;&nbsp; public String generateName(String nameType) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (!namePool.contains(nameType)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;namePool.add(nameType);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return nameType;<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;int i = 1;<br />
&nbsp;&nbsp;while (namePool.contains(nameType + i)) {<br />
&nbsp;&nbsp;&nbsp;i++;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;namePool.add(nameType + i);<br />
&nbsp;&nbsp;return nameType + i;<br />
&nbsp;}</p>
<br />
<img src ="http://www.blogjava.net/jr4e/aggbug/230611.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-09-23 11:44 <a href="http://www.blogjava.net/jr4e/archive/2008/09/23/230611.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT 中 图片的生成</title><link>http://www.blogjava.net/jr4e/archive/2008/09/19/229907.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Fri, 19 Sep 2008 04:38:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/09/19/229907.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/229907.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/09/19/229907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/229907.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/229907.html</trackback:ping><description><![CDATA[<p>&nbsp;ImageDescriptor temp = ImageDescriptor.createFromURL(url);</p>
<p>&nbsp;org.eclipse.swt.graphics.Image image = temp.createImage();</p>
<img src ="http://www.blogjava.net/jr4e/aggbug/229907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-09-19 12:38 <a href="http://www.blogjava.net/jr4e/archive/2008/09/19/229907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于jr4e重构后的一些方法实现</title><link>http://www.blogjava.net/jr4e/archive/2008/09/18/229771.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Thu, 18 Sep 2008 10:55:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/09/18/229771.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/229771.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/09/18/229771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/229771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/229771.html</trackback:ping><description><![CDATA[<p>1.通过获得当前激活的editor来得到NameManager<br />
IEditorPart editor = PlatformUI.getWorkbench()<br />
&nbsp;&nbsp;&nbsp;&nbsp;.getActiveWorkbenchWindow().getActivePage().getActiveEditor();<br />
&nbsp;&nbsp;ReportEditor reportEditor = null;<br />
&nbsp;&nbsp;if (editor instanceof ReportEditor)<br />
&nbsp;&nbsp;&nbsp;reportEditor = (ReportEditor) editor;</p>
<p>&nbsp;&nbsp;String dsDisplayName = reportEditor.getDisplaynameByQDSName(table<br />
&nbsp;&nbsp;&nbsp;&nbsp;.getDataSet());<br />
&nbsp;&nbsp;INameManager nameManager = ((ReportEditorInput) reportEditor<br />
&nbsp;&nbsp;&nbsp;&nbsp;.getEditorInput()).getNameManager();<br />
2.获得editPart的祖先的方法<br />
GefUtilities.getAncestorOfClass(Class c, EditPart editPart)<br />
public static EditPart getAncestorOfClass(Class c, EditPart editPart)</p>
3.获得模型祖先的方法<br />
ModelUtilities.getAncestorOfClass(Class c, EObject model));<br />
public static EObject getAncestorOfClass(Class c, EObject model)
<img src ="http://www.blogjava.net/jr4e/aggbug/229771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-09-18 18:55 <a href="http://www.blogjava.net/jr4e/archive/2008/09/18/229771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态生成WizardPage </title><link>http://www.blogjava.net/jr4e/archive/2008/09/09/227870.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Tue, 09 Sep 2008 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/09/09/227870.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/227870.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/09/09/227870.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/227870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/227870.html</trackback:ping><description><![CDATA[<p>Eclipse的Wizard是由一系列WizardPage组成的。缺省情况下，WizardDialog在初始化的时候就会调用每个WizardPage的createControl()方法来布局这些WizardPage，这是为了方便决定WizardDialog窗口的大小。但如果某个WizardPage里的控件是需要动态生成的，例如，用户在Page1里输入一个整数n，Page2里要根据这个整数生成n个文本框，由于Page2的createControl()只有一次被调用的机会，并且在得到n之前就被WizardDialog调用过了，集中布局的方式就为生成Page2的界面带来了困难。</p>
<p>和问题的描述比起来，解决的方法简单很多，只要覆盖Wizard的createPageControls()方法让它什么都不要做就可以了<br />
<span style="color: #000000">@Override<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;createPageControls(Composite&nbsp;pageContainer)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">super.createPageControls(pageContainer);</span><span style="color: #008000"><br />
</span><span style="color: #000000">}</span></p>
<img src ="http://www.blogjava.net/jr4e/aggbug/227870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-09-09 10:15 <a href="http://www.blogjava.net/jr4e/archive/2008/09/09/227870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Plug-in 开发中如何选用合适的policy进行继承</title><link>http://www.blogjava.net/jr4e/archive/2008/09/01/226085.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Mon, 01 Sep 2008 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/09/01/226085.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/226085.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/09/01/226085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/226085.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/226085.html</trackback:ping><description><![CDATA[1.用于大小改变，位置改变，以及添加操作－XYLayoutEditPolicy<br />
2.用于实现菜单，删除操作－ComponentEditPolicy<br />
3.用于实现选择操作 －ResizableEditPolicy
<img src ="http://www.blogjava.net/jr4e/aggbug/226085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-09-01 14:53 <a href="http://www.blogjava.net/jr4e/archive/2008/09/01/226085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入JAVA虚拟机系列 1</title><link>http://www.blogjava.net/jr4e/archive/2008/08/24/223976.html</link><dc:creator>jr4e</dc:creator><author>jr4e</author><pubDate>Sun, 24 Aug 2008 05:38:00 GMT</pubDate><guid>http://www.blogjava.net/jr4e/archive/2008/08/24/223976.html</guid><wfw:comment>http://www.blogjava.net/jr4e/comments/223976.html</wfw:comment><comments>http://www.blogjava.net/jr4e/archive/2008/08/24/223976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jr4e/comments/commentRss/223976.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jr4e/services/trackbacks/223976.html</trackback:ping><description><![CDATA[<font style="font-size: large; line-height: 1.3em">JAVA体系结构－java虚拟机概述</font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">最初，Sun公司为java体系定义了4个规范：</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">java语言；＝》规范了源文件</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">class文件格式；</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">java API；</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">java 虚拟机；</font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">编译期，java编译器（javac）将java源文件编译成class文件；运行期用户的class文件和java API的class文件在java虚拟机上协同工作。</font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">java虚拟机最主要的2个作用是装载class文件和执行这些class文件所包含的字节码（bytecode）。</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">这决定了java虚拟机的主要2个部件是：</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">类装载器 class loader；</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">执行引擎 execution engine；</font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">顾名思义，类装载器就是把用户程序的class和java API里的class装载到执行引擎，但是它仅仅只选择真正被用到的class进行装载。</font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">执行引擎的任务则是执行class文件中的字节码。由于class文件格式都遵循一种规范，所以执行引擎是可以有多种不同的方式来实现的。比如它可以是一个解释器，读一句字节码，生成一句机器码，然后执行之，这是典型的解释器行为； 它也可以在第一次执行某个方法时，将该方法编译成机器码，并缓存起来，下次该方法再被调用时它直接执行缓存的机器码，这其实是编译行为。所以必须记住，并不是所有的java虚拟机都是解释器（<em><wbr>interpreter）。</em><wbr></font><wbr><br />
<br />
<font style="font-size: x-small; line-height: 1.3em">关于JNI（java native interface）</font><wbr><br />
<font style="font-size: x-small; line-height: 1.3em">通过JNI，java允许你的程序调用任何其他语言写的方法。然而这样也将使你失去java平台无关的优势。建议只用java实现方法或只调用java API提供的native方法。</font>
 <img src ="http://www.blogjava.net/jr4e/aggbug/223976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jr4e/" target="_blank">jr4e</a> 2008-08-24 13:38 <a href="http://www.blogjava.net/jr4e/archive/2008/08/24/223976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>