﻿<?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-子非鱼</title><link>http://www.blogjava.net/GEF/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 07:52:15 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 07:52:15 GMT</pubDate><ttl>60</ttl><item><title>jboss server view找不到</title><link>http://www.blogjava.net/GEF/archive/2011/09/15/358733.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Thu, 15 Sep 2011 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2011/09/15/358733.html</guid><wfw:comment>http://www.blogjava.net/GEF/comments/358733.html</wfw:comment><comments>http://www.blogjava.net/GEF/archive/2011/09/15/358733.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/GEF/comments/commentRss/358733.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GEF/services/trackbacks/358733.html</trackback:ping><description><![CDATA[<div><br />eclipse瘦身后发现jboss server view找不到<br /><br />原因: org.jboss.ide.eclipse.as.feature中定义:<br /><br />&nbsp;&lt;requires&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;import plugin="org.eclipse.wst.server.ui.doc.user"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br />&lt;/requires&gt;<br /><br />该doc插件包在瘦身时被干掉了,导致jbossideplugin未正常加载,恢复该包即可</div><img src ="http://www.blogjava.net/GEF/aggbug/358733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2011-09-15 18:40 <a href="http://www.blogjava.net/GEF/archive/2011/09/15/358733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的开发工具箱</title><link>http://www.blogjava.net/GEF/archive/2009/03/29/262712.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Sun, 29 Mar 2009 05:27:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2009/03/29/262712.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/GEF/archive/2009/03/29/262712.html'>阅读全文</a><img src ="http://www.blogjava.net/GEF/aggbug/262712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2009-03-29 13:27 <a href="http://www.blogjava.net/GEF/archive/2009/03/29/262712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse.ini内存设置各参数含义（转）</title><link>http://www.blogjava.net/GEF/archive/2009/03/28/262575.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Sat, 28 Mar 2009 03:54:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2009/03/28/262575.html</guid><wfw:comment>http://www.blogjava.net/GEF/comments/262575.html</wfw:comment><comments>http://www.blogjava.net/GEF/archive/2009/03/28/262575.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/GEF/comments/commentRss/262575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/GEF/services/trackbacks/262575.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/GEF/archive/2009/03/28/262575.html'>阅读全文</a><img src ="http://www.blogjava.net/GEF/aggbug/262575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2009-03-28 11:54 <a href="http://www.blogjava.net/GEF/archive/2009/03/28/262575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.OutOfMemoryError: PermGen space及其解决方法(转)</title><link>http://www.blogjava.net/GEF/archive/2009/03/28/262560.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Sat, 28 Mar 2009 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2009/03/28/262560.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 内存溢出与JVM参数设置&nbsp;&nbsp;<a href='http://www.blogjava.net/GEF/archive/2009/03/28/262560.html'>阅读全文</a><img src ="http://www.blogjava.net/GEF/aggbug/262560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2009-03-28 10:09 <a href="http://www.blogjava.net/GEF/archive/2009/03/28/262560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入研究java对String字符串对象的创建以及管理(转)</title><link>http://www.blogjava.net/GEF/archive/2009/03/28/262558.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Sat, 28 Mar 2009 01:18:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2009/03/28/262558.html</guid><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转自 http://topic.csdn.net/u/20080929/02/4e0ef626-98ee-4d6d-96ed-fe40afe8290b.html&nbsp;&nbsp;<a href='http://www.blogjava.net/GEF/archive/2009/03/28/262558.html'>阅读全文</a><img src ="http://www.blogjava.net/GEF/aggbug/262558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2009-03-28 09:18 <a href="http://www.blogjava.net/GEF/archive/2009/03/28/262558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 快捷键定制（转）</title><link>http://www.blogjava.net/GEF/archive/2008/10/06/232671.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Mon, 06 Oct 2008 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2008/10/06/232671.html</guid><description><![CDATA[<span style="font-size: 10pt; font-family: Verdana">转自：http://lemon.javaeye.com/blog/51480<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.blogjava.net/fhawk/archive/2007/01/16/28993.html<br style="font-family: " />
<span style="color: #0000ff">利用IKeyBindingService接口为Action绑定快捷键：</span><br style="font-family: " />
<br style="font-family: " />
<font style="font-family: " size="2">1、<br style="font-family: " />
设置commands extension</font></span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">extension<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">point&nbsp;</span><span style="color: #0000ff">=&nbsp;"org.eclipse.ui.commands"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;activeKeyConfiguration项用来说明所绑定快捷键的初始设置&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">activeKeyConfiguration&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">="org.eclipse.ui.defaultAcceleratorConfiguration"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;如果快捷键设置有多套，可以添加多个类别&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">category<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="intelliPlatform.Category1"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description</span><span style="color: #0000ff">="Test&nbsp;description"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id</span><span style="color: #0000ff">="intelliPlatform.Category1"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;其中id为这个command的ID，相关的action通过这个ID标志找到这个command&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">command<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="intelliPlatform.command.DataSource"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category</span><span style="color: #0000ff">="intelliPlatform.Category1"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description</span><span style="color: #0000ff">="数据源配置"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id</span><span style="color: #0000ff">="com.longtop.intelliplatform.ide.project.commands.DataSource"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;具体的快捷键设置，其中command指定实际的coomand的ID&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">keyBinding<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">command</span><span style="color: #0000ff">="com.longtop.intelliplatform.ide.project.commands.DataSource"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;configuration</span><span style="color: #0000ff">="org.eclipse.ui.defaultAcceleratorConfiguration"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keySequence</span><span style="color: #0000ff">="Ctrl+Shift+D"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">extension</span><span style="color: #0000ff">&gt;</span></div>
<span style="font-size: 10pt; font-family: Verdana">&nbsp;以上是设置了plugin.xml中command extension，并指定了keybinding，在keybinding中<br />
&nbsp;的keysequence中的字符串是设置的快捷键。&nbsp;<br />
<br />
------------<br />
<br />
在具体的Action配置中，只要在其属性definitionId设置成command的ID即可，示例如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">action<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #ff0000">label</span><span style="color: #0000ff">="Sample&nbsp;Action"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;icon</span><span style="color: #0000ff">="icons/sample.gif"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;class</span><span style="color: #0000ff">="cli.bacchus.portal.ui.actions.BacchusAction"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;tooltip</span><span style="color: #0000ff">="Hello,&nbsp;Eclipse&nbsp;world"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;menubarPath</span><span style="color: #0000ff">="sampleMenu/sampleGroup"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;toolbarPath</span><span style="color: #0000ff">="sampleGroup"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;id</span><span style="color: #0000ff">="bacchus.portal.ui.actions.BacchusAction"</span><span style="color: #ff0000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;definitionId</span><span style="color: #0000ff">="com.longtop.intelliplatform.ide.project.commands.datesource"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span></div>
<br />
注意：当给相关的action设置完definitionID后，必须保证其中设置的command是有的，而且是正确的，否则有可能导致该action显示不出来。<br />
更具体的信息请参考eclipse开发参考中关于扩展点org.eclipse.ui.commands的详细描述。<br />
<br />
------------<br />
<br />
2、<br />
<font size="2">&nbsp;建立Acion,在此建立的action可以是实现IAction接口的任何类。比较方便的是继承<br />
&nbsp;org.eclipse.jface.Action，然后在新类中覆盖父类的run（） 方法.</font></span><font size="2"><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_39_198_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_198_Open_Text.style.display='none'; Codehighlighter1_39_198_Closed_Image.style.display='inline'; Codehighlighter1_39_198_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_39_198_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_39_198_Closed_Text.style.display='none'; Codehighlighter1_39_198_Open_Image.style.display='inline'; Codehighlighter1_39_198_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CopyAction&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;Action</span><span id="Codehighlighter1_39_198_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_39_198_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_63_195_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_195_Open_Text.style.display='none'; Codehighlighter1_63_195_Closed_Image.style.display='inline'; Codehighlighter1_63_195_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_63_195_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_63_195_Closed_Text.style.display='none'; Codehighlighter1_63_195_Open_Image.style.display='inline'; Codehighlighter1_63_195_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CopyAction()</span><span id="Codehighlighter1_63_195_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_63_195_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;setId(</span><span style="color: #000000">"</span><span style="color: #000000">org.example.copyaction</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;setActionDefinitionId(</span><span style="color: #000000">"</span><span style="color: #000000">com.longtop.intelliplatform.ide.project.commands.DataSource</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;}</span></span></div>
<span style="font-size: 10pt; font-family: Verdana"><br />
3、<br />
在创建CopyAction的instance之后，将copyActionInstance用IKeyBindingService绑定到<br />
指定的command。<br />
获得IKeyBinddingservice的一种简单方式为：<br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">IKeyBindingService&nbsp;keyBindingService&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getKeyBindingService();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />keyBindingService.registerAction(copyActionInstance);</span></div>
<br />
<span style="font-size: 10pt; font-family: Verdana"><font size="2"><br />
</font><font size="2">注意：<br />
1、action的definitionid和command定义的id必须一致。<br />
2、当指定的keySequence与系统默认的冲突时，如：在窗体的菜单栏中<br />
指定了Edit-&gt;Copy(默认的快捷键为Ctrl+C),若将上面的keySequence改为<br />
M1+C(Ctrl+C)则系统默认的快捷键(Ctrl+C)将更改为Ctrl+Insert。即RCP默认<br />
的为用户指定的优先，系统动态更新。<br />
3、IKeyBindingService指定的快捷键是有作用范围的。<br />
<br />
<br />
<br />
<br />
<span style="color: #0000ff">为主菜单绑定快捷键</span><br />
<br />
主菜单的快捷键即为 Alt + 菜单名称中带下划线的字母<br />
定义主菜单快捷键只要在主菜单lable中确定的字母前面加上&amp;字符即可<br />
如：<br />
plugin.properties&nbsp; menulabel = &amp;Intelliplatform<br />
plugin_zh.properties menulabel = 平台(&amp;I)<br />
（注意：在该label引用的properties国际化文件中加，直接在plugin.xml中加好像无效，此处存疑）</font></span></font> 
<img src ="http://www.blogjava.net/GEF/aggbug/232671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2008-10-06 15:18 <a href="http://www.blogjava.net/GEF/archive/2008/10/06/232671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>待整理的东东</title><link>http://www.blogjava.net/GEF/archive/2008/04/12/192480.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Sat, 12 Apr 2008 15:07:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2008/04/12/192480.html</guid><description><![CDATA[<p><span style="font-family: Verdana"><span style="color: #333399"><span style="font-family: Verdana">JAVA中HashMap的成员遍历</span></span>&nbsp;&nbsp; <br />
方法一：&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set&nbsp;&nbsp; entries;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entries=map.keySet();&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator&nbsp;&nbsp; iter=entries.iterator();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(iter.hasNext()){&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object&nbsp;&nbsp; obj=iter.next();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(obj+":"+map.get(obj));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 方法二：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set&nbsp;&nbsp; entries;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entries=map.entrySet(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator&nbsp;&nbsp; iter=entries.iterator();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(iter.hasNext())&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(iter.next()+"&nbsp;&nbsp; ");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; </span></p>
<p><span style="font-family: Verdana">另外，JAVA中 interface和class都可以作为对变量的声明。<br />
<br />
<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_63_343_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_343_Open_Text.style.display='none'; Codehighlighter1_63_343_Closed_Image.style.display='inline'; Codehighlighter1_63_343_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_63_343_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_63_343_Closed_Text.style.display='none'; Codehighlighter1_63_343_Open_Image.style.display='inline'; Codehighlighter1_63_343_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;copyDirtoDest(String&nbsp;srcDir,&nbsp;String&nbsp;toDir)&nbsp;</span><span id="Codehighlighter1_63_343_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_63_343_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy&nbsp;copyDir&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Copy();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyDir.setOverwrite(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyDir.setProject(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Project());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileSet&nbsp;fileSet&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileSet();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileSet.setDir(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(srcDir));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyDir.addFileset(fileSet);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;dest&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(toDir);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyDir.setTodir(dest);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyDir.execute();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_416_568_Open_Image" onclick="this.style.display='none'; Codehighlighter1_416_568_Open_Text.style.display='none'; Codehighlighter1_416_568_Closed_Image.style.display='inline'; Codehighlighter1_416_568_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_416_568_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_416_568_Closed_Text.style.display='none'; Codehighlighter1_416_568_Open_Image.style.display='inline'; Codehighlighter1_416_568_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;copyFiletoDestDir(String&nbsp;srcFile,&nbsp;String&nbsp;destDir)&nbsp;</span><span id="Codehighlighter1_416_568_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_416_568_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy&nbsp;copy&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Copy();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy.setProject(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Project());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy.setFile(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(srcFile));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy.setTodir(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(destDir));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy.execute();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_611_728_Open_Image" onclick="this.style.display='none'; Codehighlighter1_611_728_Open_Text.style.display='none'; Codehighlighter1_611_728_Closed_Image.style.display='inline'; Codehighlighter1_611_728_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_611_728_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_611_728_Closed_Text.style.display='none'; Codehighlighter1_611_728_Open_Image.style.display='inline'; Codehighlighter1_611_728_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;makeDir(String&nbsp;dir)&nbsp;</span><span id="Codehighlighter1_611_728_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_611_728_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mkdir&nbsp;mkdir&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Mkdir();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mkdir.setProject(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Project());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mkdir.setDir(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(dir));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mkdir.execute();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_808_982_Open_Image" onclick="this.style.display='none'; Codehighlighter1_808_982_Open_Text.style.display='none'; Codehighlighter1_808_982_Closed_Image.style.display='inline'; Codehighlighter1_808_982_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_808_982_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_808_982_Closed_Text.style.display='none'; Codehighlighter1_808_982_Open_Image.style.display='inline'; Codehighlighter1_808_982_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;copyFiletoDestandRename(String&nbsp;srcFile,&nbsp;String&nbsp;destFile)&nbsp;</span><span id="Codehighlighter1_808_982_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_808_982_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy&nbsp;copyTask&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Copy();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTask.setProject(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Project());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTask.setFile(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(srcFile));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTask.setTofile(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(destFile));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyTask.execute();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_1052_1204_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1052_1204_Open_Text.style.display='none'; Codehighlighter1_1052_1204_Closed_Image.style.display='inline'; Codehighlighter1_1052_1204_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1052_1204_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1052_1204_Closed_Text.style.display='none'; Codehighlighter1_1052_1204_Open_Image.style.display='inline'; Codehighlighter1_1052_1204_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;moveFiletoDest(String&nbsp;srcFile,&nbsp;String&nbsp;destDir)&nbsp;</span><span id="Codehighlighter1_1052_1204_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1052_1204_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;move&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Move();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.setProject(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Project());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.setFile(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(srcFile));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.setTodir(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(destDir));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.execute();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
<br />
<span style="color: #333399">验证文件夹名称是否符合java包名规范</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">//</span><span style="color: #008000">弱验证（只要能被java支持的名称，如中文名称）</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">IStatus&nbsp;val&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JavaConventions.validatePackageName(folder);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_131_152_Open_Image" onclick="this.style.display='none'; Codehighlighter1_131_152_Open_Text.style.display='none'; Codehighlighter1_131_152_Closed_Image.style.display='inline'; Codehighlighter1_131_152_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_131_152_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_131_152_Closed_Text.style.display='none'; Codehighlighter1_131_152_Open_Image.style.display='inline'; Codehighlighter1_131_152_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(val.getSeverity()&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;IStatus.ERROR)&nbsp;</span><span id="Codehighlighter1_131_152_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_131_152_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000">&nbsp;<br />
<img id="Codehighlighter1_155_253_Open_Image" onclick="this.style.display='none'; Codehighlighter1_155_253_Open_Text.style.display='none'; Codehighlighter1_155_253_Closed_Image.style.display='inline'; Codehighlighter1_155_253_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_155_253_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_155_253_Closed_Text.style.display='none'; Codehighlighter1_155_253_Open_Image.style.display='inline'; Codehighlighter1_155_253_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_155_253_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_155_253_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;强验证：是否是严格符合命名规范的包名，标识：以字母开头，字母与数字的组合，字母必须都是小写。<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;str1<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_307_479_Open_Image" onclick="this.style.display='none'; Codehighlighter1_307_479_Open_Text.style.display='none'; Codehighlighter1_307_479_Closed_Image.style.display='inline'; Codehighlighter1_307_479_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_307_479_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_307_479_Closed_Text.style.display='none'; Codehighlighter1_307_479_Open_Image.style.display='inline'; Codehighlighter1_307_479_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;isPackageName(String&nbsp;str1)</span><span id="Codehighlighter1_307_479_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_307_479_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;regex&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">^[a-z][a-z[\\d]]*</span><span style="color: #000000">"</span><span style="color: #000000">;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pattern&nbsp;p&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Pattern.compile(regex);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matcher&nbsp;m&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;p.matcher(str1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;&nbsp;m.matches();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
<br />
<span style="color: #333399">hibernate3 hql 参数乱码问题</span> <br />
Hql中有中文参数（如from test as c where c.name='张三'）的话被翻译成sql的时候会出现乱码,解决方法：<br />
在Spring的配制文件applicationContext.xml文件中添加以下代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hibernateProperties"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">props</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/Images/dot.gif" />　　　　　<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="hibernate.query.factory_class"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.hql.classic.ClassicQueryTranslatorFactory<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">props</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span></div>
<br />
<span style="color: #333399">list转Array</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">(IAction[])&nbsp;list.toArray(new&nbsp;IAction[0]);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />(IAction[])&nbsp;list.toArray(new&nbsp;IAction[list.size()]);</span></div>
</span>
<img src ="http://www.blogjava.net/GEF/aggbug/192480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2008-04-12 23:07 <a href="http://www.blogjava.net/GEF/archive/2008/04/12/192480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关插件工程构建和打包的问题</title><link>http://www.blogjava.net/GEF/archive/2008/02/20/180773.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Wed, 20 Feb 2008 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2008/02/20/180773.html</guid><description><![CDATA[<br />
<span style="color: #333399">打包时过滤文件<br />
</span><br />
<span style="font-family: Verdana">在build.properties中的bin.excludes加入要过滤的文件<br style="font-family: " />
（例如：过滤jar包中所有文件夹下的CC配置文件.copyarea.db，应该填写 bin.excludes = **/.copyarea.db ）</span><br />
<br />
<br />
<span style="color: #333399">构建时过滤文件</span><br />
<p>&nbsp;</p>
<p><span style="font-family: Verdana">Properties -&gt; Java Compiler -&gt; Building</span></p>
<p><span style="font-family: Verdana">勾选Enable project specific settings, 在Output folder栏的Filtered Resources中填写你要过滤的文件&nbsp;&nbsp; （例如：过滤bin目录中所有文件夹下的CC配置文件.copyarea.db，应该填写 *.copyarea.db）</span></p>
<br />
<img src ="http://www.blogjava.net/GEF/aggbug/180773.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2008-02-20 10:10 <a href="http://www.blogjava.net/GEF/archive/2008/02/20/180773.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA奇技淫巧</title><link>http://www.blogjava.net/GEF/archive/2008/01/24/177449.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Thu, 24 Jan 2008 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2008/01/24/177449.html</guid><description><![CDATA[<span style="color: #333399">内部类调用外部类对象（转）</span><br />
内部类可以使用外部类名.<span style="font-family: Verdana">this</span>引用外部类的当前对象,然后就可以使用外部类的任何属性和方法了&nbsp;&nbsp;&nbsp;<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_20_222_Open_Image" onclick="this.style.display='none'; Codehighlighter1_20_222_Open_Text.style.display='none'; Codehighlighter1_20_222_Closed_Image.style.display='inline'; Codehighlighter1_20_222_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_20_222_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_20_222_Closed_Text.style.display='none'; Codehighlighter1_20_222_Open_Image.style.display='inline'; Codehighlighter1_20_222_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;OuterClass</span><span id="Codehighlighter1_20_222_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_20_222_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_54_120_Open_Image" onclick="this.style.display='none'; Codehighlighter1_54_120_Open_Text.style.display='none'; Codehighlighter1_54_120_Closed_Image.style.display='inline'; Codehighlighter1_54_120_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_54_120_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_54_120_Closed_Text.style.display='none'; Codehighlighter1_54_120_Open_Image.style.display='inline'; Codehighlighter1_54_120_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;show()&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_54_120_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_54_120_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">method&nbsp;&nbsp;&nbsp;of&nbsp;&nbsp;out&nbsp;&nbsp;&nbsp;class</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_145_219_Open_Image" onclick="this.style.display='none'; Codehighlighter1_145_219_Open_Text.style.display='none'; Codehighlighter1_145_219_Closed_Image.style.display='inline'; Codehighlighter1_145_219_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_145_219_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_145_219_Closed_Text.style.display='none'; Codehighlighter1_145_219_Open_Image.style.display='inline'; Codehighlighter1_145_219_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;InnerClass</span><span id="Codehighlighter1_145_219_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_145_219_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_177_212_Open_Image" onclick="this.style.display='none'; Codehighlighter1_177_212_Open_Text.style.display='none'; Codehighlighter1_177_212_Closed_Image.style.display='inline'; Codehighlighter1_177_212_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_177_212_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_177_212_Closed_Text.style.display='none'; Codehighlighter1_177_212_Open_Image.style.display='inline'; Codehighlighter1_177_212_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;showStr()</span><span id="Codehighlighter1_177_212_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_177_212_Open_Text"><span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;OuterClass.</span><span style="color: #0000ff">this</span><span style="color: #000000">.show()&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;</span></div>
</span><br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">String[]&nbsp;strs&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str.split(</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">);</span></div>
<br />
<br />
<span style="color: #333399; font-family: Verdana">web.xml中配置tag-lib间接引用</span><br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">%@&nbsp;taglib&nbsp;</span><span style="color: #ff0000">uri</span><span style="color: #0000ff">="http://www.ccb.cn/xmdc"</span><span style="color: #ff0000">&nbsp;prefix</span><span style="color: #0000ff">="xmdc"</span><span style="color: #ff0000">%</span><span style="color: #0000ff">&gt;</span></div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: Verdana">&nbsp;&nbsp; 在web.xml中增加下面的内容：</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib-uri</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">http://www.ccb.cn/xmdc</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib-uri</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">taglib-location</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/WEB-INF/xmdc.tld</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib-location</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">taglib</span><span style="color: #0000ff">&gt;</span></div>
<br />
<p><span style="font-family: Verdana"><span style="font-size: 10pt; color: #333399">小颖反编译工具无法反编译jdk1.5以上的class的解决办法</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">下载可以反编译1.5以上的jdk编译的class的新版本jad.exe，替换掉在window路径下的小颖用的老版本的 jad.exe ，小颖就好用了。</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">其实小颖也就是jad.exe的一个shell，替换了就好了。</span></span></p>
<p><span style="font-family: Verdana"><span style="font-size: 10pt">jad的下载地址：http://www.kpdus.com/jad.html#download</span></span></p>
<img src ="http://www.blogjava.net/GEF/aggbug/177449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2008-01-24 11:30 <a href="http://www.blogjava.net/GEF/archive/2008/01/24/177449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>copyProperties方法分析(转)</title><link>http://www.blogjava.net/GEF/archive/2007/10/25/155789.html</link><dc:creator>子非鱼</dc:creator><author>子非鱼</author><pubDate>Thu, 25 Oct 2007 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/GEF/archive/2007/10/25/155789.html</guid><description><![CDATA[<span style="font-family: Verdana"><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-family: Verdana">BeanUtils和PropertyUtils类是许多开源框架中频繁使用的两个工具，它们都能实现将一个类中的属性拷贝到另一个类中，这个功能甚至是spring实现依赖注入的基础。研究一下apache的comon包中如何实现这个两个工具，可以发现它们都是使用java.lang.reflect和java.beans这两个包下的几个类来实现的。 </span>
<p><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp; 这里我们通过编写一个将一个类的所有属性拷贝到另一个类的相应属性的方法来分析是如何实现拷贝功能的.先把方法放上来：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_62_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_62_Open_Text.style.display='none'; Codehighlighter1_0_62_Closed_Image.style.display='inline'; Codehighlighter1_0_62_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_62_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_62_Closed_Text.style.display='none'; Codehighlighter1_0_62_Open_Image.style.display='inline'; Codehighlighter1_0_62_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_62_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_0_62_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">&nbsp;实现将源类属性拷贝到目标类中<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;source&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;target<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_128_2031_Open_Image" onclick="this.style.display='none'; Codehighlighter1_128_2031_Open_Text.style.display='none'; Codehighlighter1_128_2031_Closed_Image.style.display='inline'; Codehighlighter1_128_2031_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_128_2031_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_128_2031_Closed_Text.style.display='none'; Codehighlighter1_128_2031_Open_Image.style.display='inline'; Codehighlighter1_128_2031_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;copyProperties(Object&nbsp;source,&nbsp;Object&nbsp;target)&nbsp;</span><span id="Codehighlighter1_128_2031_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_128_2031_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_137_1755_Open_Image" onclick="this.style.display='none'; Codehighlighter1_137_1755_Open_Text.style.display='none'; Codehighlighter1_137_1755_Closed_Image.style.display='inline'; Codehighlighter1_137_1755_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_137_1755_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_137_1755_Closed_Text.style.display='none'; Codehighlighter1_137_1755_Open_Image.style.display='inline'; Codehighlighter1_137_1755_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_137_1755_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_137_1755_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">获取目标类的属性信息</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanInfo&nbsp;targetbean&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Introspector.getBeanInfo(target.getClass());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyDescriptor[]&nbsp;propertyDescriptors&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;targetbean.getPropertyDescriptors();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">对每个目标类的属性查找set方法，并进行处理</span><span style="color: #008000"><br />
<img id="Codehighlighter1_417_1750_Open_Image" onclick="this.style.display='none'; Codehighlighter1_417_1750_Open_Text.style.display='none'; Codehighlighter1_417_1750_Closed_Image.style.display='inline'; Codehighlighter1_417_1750_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_417_1750_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_417_1750_Closed_Text.style.display='none'; Codehighlighter1_417_1750_Open_Image.style.display='inline'; Codehighlighter1_417_1750_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;propertyDescriptors.length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_417_1750_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_417_1750_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyDescriptor&nbsp;pro&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;propertyDescriptors[i];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;wm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;pro.getWriteMethod();<br />
<img id="Codehighlighter1_557_1738_Open_Image" onclick="this.style.display='none'; Codehighlighter1_557_1738_Open_Text.style.display='none'; Codehighlighter1_557_1738_Closed_Image.style.display='inline'; Codehighlighter1_557_1738_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_557_1738_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_557_1738_Closed_Text.style.display='none'; Codehighlighter1_557_1738_Open_Image.style.display='inline'; Codehighlighter1_557_1738_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(wm&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_557_1738_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_557_1738_Open_Text"><span style="color: #000000">{</span><span style="color: #008000">//</span><span style="color: #008000">当目标类的属性具有set方法时，查找源类中是否有相同属性的get方法</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BeanInfo&nbsp;sourceBean&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Introspector.getBeanInfo(source.getClass());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PropertyDescriptor[]&nbsp;sourcepds&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sourceBean.getPropertyDescriptors();<br />
<img id="Codehighlighter1_826_1722_Open_Image" onclick="this.style.display='none'; Codehighlighter1_826_1722_Open_Text.style.display='none'; Codehighlighter1_826_1722_Closed_Image.style.display='inline'; Codehighlighter1_826_1722_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_826_1722_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_826_1722_Closed_Text.style.display='none'; Codehighlighter1_826_1722_Open_Image.style.display='inline'; Codehighlighter1_826_1722_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;j&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;sourcepds.length;&nbsp;j</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_826_1722_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_826_1722_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_900_1703_Open_Image" onclick="this.style.display='none'; Codehighlighter1_900_1703_Open_Text.style.display='none'; Codehighlighter1_900_1703_Closed_Image.style.display='inline'; Codehighlighter1_900_1703_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_900_1703_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_900_1703_Closed_Text.style.display='none'; Codehighlighter1_900_1703_Open_Image.style.display='inline'; Codehighlighter1_900_1703_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(sourcepds[j].getName().equals(pro.getName()))&nbsp;</span><span id="Codehighlighter1_900_1703_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_900_1703_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">匹配</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&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;Method&nbsp;rm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sourcepds[j].getReadMethod();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #008000">//</span><span style="color: #008000">如果方法不可访问(get方法是私有的或不可达),则抛出SecurityException</span><span style="color: #008000"><br />
<img id="Codehighlighter1_1140_1225_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1140_1225_Open_Text.style.display='none'; Codehighlighter1_1140_1225_Closed_Image.style.display='inline'; Codehighlighter1_1140_1225_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1140_1225_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1140_1225_Closed_Text.style.display='none'; Codehighlighter1_1140_1225_Open_Image.style.display='inline'; Codehighlighter1_1140_1225_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&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;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">Modifier.isPublic(rm.getDeclaringClass().getModifiers()))&nbsp;</span><span id="Codehighlighter1_1140_1225_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1140_1225_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;rm.setAccessible(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&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;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #008000">//</span><span style="color: #008000">获取对应属性get所得到的值</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&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;Object&nbsp;value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;rm.invoke(source,</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[</span><span style="color: #000000">0</span><span style="color: #000000">]);<br />
<img id="Codehighlighter1_1433_1516_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1433_1516_Open_Text.style.display='none'; Codehighlighter1_1433_1516_Closed_Image.style.display='inline'; Codehighlighter1_1433_1516_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1433_1516_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1433_1516_Closed_Text.style.display='none'; Codehighlighter1_1433_1516_Open_Image.style.display='inline'; Codehighlighter1_1433_1516_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">Modifier.isPublic(wm.getDeclaringClass().getModifiers()))&nbsp;</span><span id="Codehighlighter1_1433_1516_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1433_1516_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;wm.setAccessible(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&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;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #008000">//</span><span style="color: #008000">调用目标类对应属性的set方法对该属性进行填充</span><span style="color: #008000"><br />
<img id="Codehighlighter1_1636_1644_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1636_1644_Open_Text.style.display='none'; Codehighlighter1_1636_1644_Closed_Image.style.display='inline'; Codehighlighter1_1636_1644_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1636_1644_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1636_1644_Closed_Text.style.display='none'; Codehighlighter1_1636_1644_Open_Image.style.display='inline'; Codehighlighter1_1636_1644_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&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;wm.invoke((Object)&nbsp;target,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[]&nbsp;</span><span id="Codehighlighter1_1636_1644_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1636_1644_Open_Text"><span style="color: #000000">{&nbsp;value&nbsp;}</span></span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&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;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_1790_1823_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1790_1823_Open_Text.style.display='none'; Codehighlighter1_1790_1823_Closed_Image.style.display='inline'; Codehighlighter1_1790_1823_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1790_1823_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1790_1823_Closed_Text.style.display='none'; Codehighlighter1_1790_1823_Open_Image.style.display='inline'; Codehighlighter1_1790_1823_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IntrospectionException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1790_1823_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1790_1823_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img id="Codehighlighter1_1860_1893_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1860_1893_Open_Text.style.display='none'; Codehighlighter1_1860_1893_Closed_Image.style.display='inline'; Codehighlighter1_1860_1893_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1860_1893_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1860_1893_Closed_Text.style.display='none'; Codehighlighter1_1860_1893_Open_Image.style.display='inline'; Codehighlighter1_1860_1893_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IllegalArgumentException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1860_1893_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1860_1893_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img id="Codehighlighter1_1928_1960_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1928_1960_Open_Text.style.display='none'; Codehighlighter1_1928_1960_Closed_Image.style.display='inline'; Codehighlighter1_1928_1960_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1928_1960_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1928_1960_Closed_Text.style.display='none'; Codehighlighter1_1928_1960_Open_Image.style.display='inline'; Codehighlighter1_1928_1960_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IllegalAccessException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1928_1960_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1928_1960_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img id="Codehighlighter1_1998_2029_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1998_2029_Open_Text.style.display='none'; Codehighlighter1_1998_2029_Closed_Image.style.display='inline'; Codehighlighter1_1998_2029_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1998_2029_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1998_2029_Closed_Text.style.display='none'; Codehighlighter1_1998_2029_Open_Image.style.display='inline'; Codehighlighter1_1998_2029_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(InvocationTargetException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1998_2029_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1998_2029_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p><span style="font-family: Verdana">两个工具的其他方法实现虽然有点差别,但原理都跟上面的例子差不多,有兴趣的话可以写个测试类试试是否可以使用.</span></p>
<p><span style="font-family: Verdana"><a href="http://lemonfamily.blogdriver.com/lemonfamily/1240784.html">转自： http://lemonfamily.blogdriver.com/lemonfamily/1240784.html</a></span></p>
</span></span></span>
<img src ="http://www.blogjava.net/GEF/aggbug/155789.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/GEF/" target="_blank">子非鱼</a> 2007-10-25 10:16 <a href="http://www.blogjava.net/GEF/archive/2007/10/25/155789.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>