﻿<?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-Hexise's Blog</title><link>http://www.blogjava.net/Hexise/</link><description>业精于勤荒于嬉 行成于思毁于随</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 18:58:40 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 18:58:40 GMT</pubDate><ttl>60</ttl><item><title>Sametime Server安装配置随笔</title><link>http://www.blogjava.net/Hexise/archive/2007/09/04/142692.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Tue, 04 Sep 2007 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2007/09/04/142692.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/142692.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2007/09/04/142692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/142692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/142692.html</trackback:ping><description><![CDATA[一、软件准备：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBM Lotus Domino Server 7.0.2 ；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBM Lotus Notes Designer and Admin Client 7.0.2 ；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBM Lotus Sametime Server 7.5.1 ；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBM Lotus Sametime Connect 7.5.1 ；<br />
<br />
二、安装顺序：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Domino Server-&gt;Sametime Server-&gt;Notes Admin Client-&gt;Sametime Client<br />
<br />
三、Domino Server安装：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.按照提示安装Domino Server，选择Domino Enterprise Server<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.运行Server Setup Program<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.选择Set up the first server or a new Domino domain.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.填写Server name和Server title，Organization Name和Organization Certifier password<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.填写管理员的名称和密码，一定要记录该用户名和密码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.选中Domino Server提供的Http&nbsp;Services<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.不必选中LDAP Service<br />
<br />
四、Sametime Server安装：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.按照提示安装Sametime Server，如果需要激活80端口，选中Enable HTTP tunneling。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.启动Sametime欢迎界面，<a href="http://domain/stcenter.nsf">http://domain/stcenter.nsf</a>，登录至管理页面，如果无法登录，可能是域名解析问题，将域名与ip的对应关系添加到windows/system32/drivers/etc/host文件中<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.如果欢迎界面没有用户注册选项，需管理员开启该功能。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/hexise/sign.JPG" border="0" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在管理页面中选择Domino目录-&gt;Domino，勾选<label for="1">允许用户注册到 Domino 目录一项，该项需重启服务器，并在后面操作中给予权限支持。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img height="737" alt="" src="http://www.blogjava.net/images/blogjava_net/hexise/sametimecenter.JPG" width="881" border="0" /><br />
<br />
五、Notes Admin Client安装<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.按照提示安装Notes Admin Client，安装完毕后启动，打开文件Tab页，在Domino Directory上点击右键-&gt;存取控制-&gt;管理，打开ACL(存取控制列表)对话框<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.添加用户Sametime Development/Lotus Notes Companion Products，并给予作者权限，使其拥有创建文档等权限，然后赋予其UserCreator角色，该步操作用以提供用户注册所需的权限。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/hexise/client.JPG" border="0" /><br />
<br />
六、Sametime Client安装<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.按照提示安装Sametime Client<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.进入<a href="http://domain/stcenter.nsf">http://domain/stcenter.nsf</a>注册用户<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.使用该用户和domain地址登录至sametime</label> 
   <img src ="http://www.blogjava.net/Hexise/aggbug/142692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2007-09-04 17:23 <a href="http://www.blogjava.net/Hexise/archive/2007/09/04/142692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JFace 可编辑的TreeViewer和TableViewer</title><link>http://www.blogjava.net/Hexise/archive/2007/01/04/91764.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Thu, 04 Jan 2007 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2007/01/04/91764.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/91764.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2007/01/04/91764.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/91764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/91764.html</trackback:ping><description><![CDATA[
		<p>向已有的TreeViewer和TableViewer上添加编辑功能，可以使用CellEditor和CellModifier。</p>
		<p>CellEditor定义了某个列被编辑时显示的外观，它可以是文本框、下拉列表框或单选框，也可以自己定义。</p>
		<p>通常使用的CellEditor的子类就是：CheckboxCellEditor、ComboBoxCellEditor和TextCellEditor。<br />CellEditor一般用数组来保存，如果某个列不需要编辑，则可将该列的CellEditor设为null。<br />当CellEditor的数组定义完后，即可利用setCellEditors(CellEditor[] editors)方法将该数组设置到对应的TreeViewer或TableViewer中去。例如：</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">
				<span style="COLOR: #000000">    CellEditor[] cellEditors </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CellEditor[</span>
				<span style="COLOR: #000000">5</span>
				<span style="COLOR: #000000">];<br />    cellEditors[</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> TextCellEditor(tableViewer.getTable());<br />    cellEditors[</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">null</span>
				<span style="COLOR: #000000">;<br />    cellEditors[</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> ComboBoxCellEditor(tableViewer.getTable(), </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> String[]{</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">first</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">second</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">third</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">, </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">forth</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">});<br />    cellEditors[</span>
				<span style="COLOR: #000000">3</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CheckboxCellEditor(tableViewer.getTable());<br />    cellEditors[</span>
				<span style="COLOR: #000000">4</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CustomizedTextCellEditor(tableViewer.getTable());<br />    tableViewer.setCellEditors(cellEditors);</span>
		</div>
		<br />其中CustomizedTextCellEditor是自定义的CellEditor，避免了设置value时造成的空指针异常。<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 id="Codehighlighter1_63_243_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_243_Open_Text.style.display='none'; Codehighlighter1_63_243_Closed_Image.style.display='inline'; Codehighlighter1_63_243_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_63_243_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_63_243_Closed_Text.style.display='none'; Codehighlighter1_63_243_Open_Image.style.display='inline'; Codehighlighter1_63_243_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> CustomizedTextCellEditor </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> TextCellEditor</span><span id="Codehighlighter1_63_243_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" /></span><span id="Codehighlighter1_63_243_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_115_135_Open_Image" onclick="this.style.display='none'; Codehighlighter1_115_135_Open_Text.style.display='none'; Codehighlighter1_115_135_Closed_Image.style.display='inline'; Codehighlighter1_115_135_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_115_135_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_115_135_Closed_Text.style.display='none'; Codehighlighter1_115_135_Open_Image.style.display='inline'; Codehighlighter1_115_135_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> CustomizedTextCellEditor(Composite parent)</span><span id="Codehighlighter1_115_135_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" /></span><span id="Codehighlighter1_115_135_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">super</span><span style="COLOR: #000000">(parent);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_178_239_Open_Image" onclick="this.style.display='none'; Codehighlighter1_178_239_Open_Text.style.display='none'; Codehighlighter1_178_239_Closed_Image.style.display='inline'; Codehighlighter1_178_239_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_178_239_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_178_239_Closed_Text.style.display='none'; Codehighlighter1_178_239_Open_Image.style.display='inline'; Codehighlighter1_178_239_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> doSetValue(Object value) </span><span id="Codehighlighter1_178_239_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" /></span><span id="Codehighlighter1_178_239_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(value </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">super</span><span style="COLOR: #000000">.doSetValue(value);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000">        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><p><br />CellEditor负责外观，它对要编辑的模型信息一无所知。所以jface中引入了ICellModifier接口，将model与CellEditor联系在一起。为了确定在CellModifier中的列，需要定义columnProperties的String[]数组，用以区分不同列对应的不同属性。使用setColumnProperties(String[] columnProperties)设置该属性集。</p><p>ICellModifier定义了三个接口方法：</p><p>public boolean canModify(Object element, String property);<br />该方法判断何时该列可以被编辑。其中element是对应的model。返回true表示此时该列可以被编辑。</p><p>public Object getValue(Object element, String property);<br />该方法一般在activateCellEditor()时调用，用于设定CellEditor的初始值。其中element是对应的model。</p><p>此处虽然可以返回Object类型的引用，但是使用时需小心，特定的CellEditor仅接受特定类型的Value。比如：<br />TextCellEditor对应String类型的Value；<br />ComboBoxCellEditor对应Integer类型的Value；<br />CheckBoxCellEditor对应Boolean类型的Value；<br />若返回了不适合的Value对象，则会抛出AssertionFailedException。</p><p>public void modify(Object element, String property, Object value);<br />该方法执行保存修改。一般在saveEditorValue之类的方法中调用。此处的element不再是model，而是Item类型的引用。取用对应的模型，需要使用((Item) element).getData()方法。一般此处的value值，也就是当前CellEditor的Value值，使用CellEditor.getValue()得到。另外，在执行完更改后，需要刷新对应的TableViewer或TreeViewer，使做出的更新可见。<br /><br />org.eclipse.debug.internal.ui.elements.adapters.DefaultVariableCellModifier是ICellModifier的一个完整实现：</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.core.DebugException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.core.model.IVariable;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.internal.ui.DebugUIPlugin;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.internal.ui.DefaultLabelProvider;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.internal.ui.VariableValueEditorManager;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.debug.ui.actions.IVariableValueEditor;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.viewers.ICellModifier;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_376_399_Open_Image" onclick="this.style.display='none'; Codehighlighter1_376_399_Open_Text.style.display='none'; Codehighlighter1_376_399_Closed_Image.style.display='inline'; Codehighlighter1_376_399_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_376_399_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_376_399_Closed_Text.style.display='none'; Codehighlighter1_376_399_Open_Image.style.display='inline'; Codehighlighter1_376_399_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_376_399_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">/** */</span><span id="Codehighlighter1_376_399_Open_Text"><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> * </span><span style="COLOR: #808080">@since</span><span style="COLOR: #008000"> 3.2<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> *<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_467_2501_Open_Image" onclick="this.style.display='none'; Codehighlighter1_467_2501_Open_Text.style.display='none'; Codehighlighter1_467_2501_Closed_Image.style.display='inline'; Codehighlighter1_467_2501_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_467_2501_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_467_2501_Closed_Text.style.display='none'; Codehighlighter1_467_2501_Open_Image.style.display='inline'; Codehighlighter1_467_2501_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> DefaultVariableCellModifier </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> ICellModifier </span><span id="Codehighlighter1_467_2501_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" /></span><span id="Codehighlighter1_467_2501_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img id="Codehighlighter1_472_587_Open_Image" onclick="this.style.display='none'; Codehighlighter1_472_587_Open_Text.style.display='none'; Codehighlighter1_472_587_Closed_Image.style.display='inline'; Codehighlighter1_472_587_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_472_587_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_472_587_Closed_Text.style.display='none'; Codehighlighter1_472_587_Open_Image.style.display='inline'; Codehighlighter1_472_587_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_472_587_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">/**/</span><span id="Codehighlighter1_472_587_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> (non-Javadoc)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_648_852_Open_Image" onclick="this.style.display='none'; Codehighlighter1_648_852_Open_Text.style.display='none'; Codehighlighter1_648_852_Closed_Image.style.display='inline'; Codehighlighter1_648_852_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_648_852_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_648_852_Closed_Text.style.display='none'; Codehighlighter1_648_852_Open_Image.style.display='inline'; Codehighlighter1_648_852_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> canModify(Object element, String property) </span><span id="Codehighlighter1_648_852_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" /></span><span id="Codehighlighter1_648_852_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_723_833_Open_Image" onclick="this.style.display='none'; Codehighlighter1_723_833_Open_Text.style.display='none'; Codehighlighter1_723_833_Closed_Image.style.display='inline'; Codehighlighter1_723_833_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_723_833_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_723_833_Closed_Text.style.display='none'; Codehighlighter1_723_833_Open_Image.style.display='inline'; Codehighlighter1_723_833_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) </span><span id="Codehighlighter1_723_833_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" /></span><span id="Codehighlighter1_723_833_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_762_829_Open_Image" onclick="this.style.display='none'; Codehighlighter1_762_829_Open_Text.style.display='none'; Codehighlighter1_762_829_Closed_Image.style.display='inline'; Codehighlighter1_762_829_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_762_829_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_762_829_Closed_Text.style.display='none'; Codehighlighter1_762_829_Open_Image.style.display='inline'; Codehighlighter1_762_829_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (element </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> IVariable) </span><span id="Codehighlighter1_762_829_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" /></span><span id="Codehighlighter1_762_829_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ((IVariable) element).supportsValueModification();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_856_970_Open_Image" onclick="this.style.display='none'; Codehighlighter1_856_970_Open_Text.style.display='none'; Codehighlighter1_856_970_Closed_Image.style.display='inline'; Codehighlighter1_856_970_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_856_970_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_856_970_Closed_Text.style.display='none'; Codehighlighter1_856_970_Open_Image.style.display='inline'; Codehighlighter1_856_970_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_856_970_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">/**/</span><span id="Codehighlighter1_856_970_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> (non-Javadoc)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1029_1383_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1029_1383_Open_Text.style.display='none'; Codehighlighter1_1029_1383_Closed_Image.style.display='inline'; Codehighlighter1_1029_1383_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1029_1383_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1029_1383_Closed_Text.style.display='none'; Codehighlighter1_1029_1383_Open_Image.style.display='inline'; Codehighlighter1_1029_1383_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Object getValue(Object element, String property) </span><span id="Codehighlighter1_1029_1383_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" /></span><span id="Codehighlighter1_1029_1383_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1104_1365_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1104_1365_Open_Text.style.display='none'; Codehighlighter1_1104_1365_Closed_Image.style.display='inline'; Codehighlighter1_1104_1365_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1104_1365_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1104_1365_Closed_Text.style.display='none'; Codehighlighter1_1104_1365_Open_Image.style.display='inline'; Codehighlighter1_1104_1365_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) </span><span id="Codehighlighter1_1104_1365_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" /></span><span id="Codehighlighter1_1104_1365_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1143_1361_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1143_1361_Open_Text.style.display='none'; Codehighlighter1_1143_1361_Closed_Image.style.display='inline'; Codehighlighter1_1143_1361_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1143_1361_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1143_1361_Closed_Text.style.display='none'; Codehighlighter1_1143_1361_Open_Image.style.display='inline'; Codehighlighter1_1143_1361_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (element </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> IVariable) </span><span id="Codehighlighter1_1143_1361_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" /></span><span id="Codehighlighter1_1143_1361_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                IVariable variable </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (IVariable) element;<br /><img id="Codehighlighter1_1199_1296_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1199_1296_Open_Text.style.display='none'; Codehighlighter1_1199_1296_Closed_Image.style.display='inline'; Codehighlighter1_1199_1296_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1199_1296_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1199_1296_Closed_Text.style.display='none'; Codehighlighter1_1199_1296_Open_Image.style.display='inline'; Codehighlighter1_1199_1296_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_1199_1296_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" /></span><span id="Codehighlighter1_1199_1296_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> DefaultLabelProvider.escapeSpecialChars(variable.getValue().getValueString());<br /><img id="Codehighlighter1_1323_1356_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1323_1356_Open_Text.style.display='none'; Codehighlighter1_1323_1356_Closed_Image.style.display='inline'; Codehighlighter1_1323_1356_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1323_1356_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1323_1356_Closed_Text.style.display='none'; Codehighlighter1_1323_1356_Open_Image.style.display='inline'; Codehighlighter1_1323_1356_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                }</span></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (DebugException e) </span><span id="Codehighlighter1_1323_1356_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" /></span><span id="Codehighlighter1_1323_1356_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    DebugUIPlugin.log(e);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_1387_1517_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1387_1517_Open_Text.style.display='none'; Codehighlighter1_1387_1517_Closed_Image.style.display='inline'; Codehighlighter1_1387_1517_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1387_1517_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1387_1517_Closed_Text.style.display='none'; Codehighlighter1_1387_1517_Open_Image.style.display='inline'; Codehighlighter1_1387_1517_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1387_1517_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">/**/</span><span id="Codehighlighter1_1387_1517_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> (non-Javadoc)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1586_2498_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1586_2498_Open_Text.style.display='none'; Codehighlighter1_1586_2498_Closed_Image.style.display='inline'; Codehighlighter1_1586_2498_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1586_2498_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1586_2498_Closed_Text.style.display='none'; Codehighlighter1_1586_2498_Open_Image.style.display='inline'; Codehighlighter1_1586_2498_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> modify(Object element, String property, Object value) </span><span id="Codehighlighter1_1586_2498_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" /></span><span id="Codehighlighter1_1586_2498_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Object oldValue </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> getValue(element, property);<br /><img id="Codehighlighter1_1674_2495_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1674_2495_Open_Text.style.display='none'; Codehighlighter1_1674_2495_Closed_Image.style.display='inline'; Codehighlighter1_1674_2495_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1674_2495_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1674_2495_Closed_Text.style.display='none'; Codehighlighter1_1674_2495_Open_Image.style.display='inline'; Codehighlighter1_1674_2495_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">value.equals(oldValue)) </span><span id="Codehighlighter1_1674_2495_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" /></span><span id="Codehighlighter1_1674_2495_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1756_2491_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1756_2491_Open_Text.style.display='none'; Codehighlighter1_1756_2491_Closed_Image.style.display='inline'; Codehighlighter1_1756_2491_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1756_2491_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1756_2491_Closed_Text.style.display='none'; Codehighlighter1_1756_2491_Open_Image.style.display='inline'; Codehighlighter1_1756_2491_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (VariableColumnPresentation.COLUMN_VARIABLE_VALUE.equals(property)) </span><span id="Codehighlighter1_1756_2491_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" /></span><span id="Codehighlighter1_1756_2491_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1796_2480_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1796_2480_Open_Text.style.display='none'; Codehighlighter1_1796_2480_Closed_Image.style.display='inline'; Codehighlighter1_1796_2480_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1796_2480_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1796_2480_Closed_Text.style.display='none'; Codehighlighter1_1796_2480_Open_Image.style.display='inline'; Codehighlighter1_1796_2480_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (element </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> IVariable) </span><span id="Codehighlighter1_1796_2480_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" /></span><span id="Codehighlighter1_1796_2480_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    IVariable variable </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (IVariable) element;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                    IVariableValueEditor editor </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> VariableValueEditorManager.getDefault().getVariableValueEditor(variable.getModelIdentifier());<br /><img id="Codehighlighter1_2009_2086_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2009_2086_Open_Text.style.display='none'; Codehighlighter1_2009_2086_Closed_Image.style.display='inline'; Codehighlighter1_2009_2086_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2009_2086_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2009_2086_Closed_Text.style.display='none'; Codehighlighter1_2009_2086_Open_Image.style.display='inline'; Codehighlighter1_2009_2086_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (value </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> String) </span><span id="Codehighlighter1_2009_2086_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" /></span><span id="Codehighlighter1_2009_2086_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                        value </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DefaultLabelProvider.encodeEsacpedChars((String)value);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_2113_2229_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2113_2229_Open_Text.style.display='none'; Codehighlighter1_2113_2229_Closed_Image.style.display='inline'; Codehighlighter1_2113_2229_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2113_2229_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2113_2229_Closed_Text.style.display='none'; Codehighlighter1_2113_2229_Open_Image.style.display='inline'; Codehighlighter1_2113_2229_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (editor </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">) </span><span id="Codehighlighter1_2113_2229_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" /></span><span id="Codehighlighter1_2113_2229_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_2199_2222_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2199_2222_Open_Text.style.display='none'; Codehighlighter1_2199_2222_Closed_Image.style.display='inline'; Codehighlighter1_2199_2222_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2199_2222_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2199_2222_Closed_Text.style.display='none'; Codehighlighter1_2199_2222_Open_Image.style.display='inline'; Codehighlighter1_2199_2222_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">  (editor.saveVariable(variable, (String) value, DebugUIPlugin.getShell())) </span><span id="Codehighlighter1_2199_2222_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" /></span><span id="Codehighlighter1_2199_2222_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_2240_2288_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2240_2288_Open_Text.style.display='none'; Codehighlighter1_2240_2288_Closed_Image.style.display='inline'; Codehighlighter1_2240_2288_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2240_2288_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2240_2288_Closed_Text.style.display='none'; Codehighlighter1_2240_2288_Open_Image.style.display='inline'; Codehighlighter1_2240_2288_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_2240_2288_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" /></span><span id="Codehighlighter1_2240_2288_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                        variable.setValue((String) value);<br /><img id="Codehighlighter1_2315_2474_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2315_2474_Open_Text.style.display='none'; Codehighlighter1_2315_2474_Closed_Image.style.display='inline'; Codehighlighter1_2315_2474_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2315_2474_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2315_2474_Closed_Text.style.display='none'; Codehighlighter1_2315_2474_Open_Image.style.display='inline'; Codehighlighter1_2315_2474_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    }</span></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> (DebugException e) </span><span id="Codehighlighter1_2315_2474_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" /></span><span id="Codehighlighter1_2315_2474_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                        DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), Messages.VariableColumnPresentation_4, Messages.VariableColumnPresentation_5, e.getStatus());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><img src ="http://www.blogjava.net/Hexise/aggbug/91764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2007-01-04 15:29 <a href="http://www.blogjava.net/Hexise/archive/2007/01/04/91764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GEF编辑器的区域及滚动条</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90718.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90718.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90718.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90718.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90718.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90718.html</trackback:ping><description><![CDATA[
		<font face="Courier New">
		</font>
		<p>GEF编辑器是构架在Draw2D的FigureCanvas上的,而FigureCanvas是swt中Canvas的子类.</p>
		<p>当得到FigureCanvas之后,就可以得到GEF编辑器的区域和GEF编辑器内部画布的大小:</p>
		<p>编辑器区域大小:FigureCanvas.getBounds();<br />这是运用了FigureCanvas是Canvas子类的特点,调用SWT的Canvas的getBounds()方法,即调用Control的getBounds()方法.</p>
		<p>画布大小:FigureCanvas.getContents.getBounds();<br />这是运用了IFigure的getBounds()方法, 这两个区域矩形不可混淆.</p>
		<p>若要触发GEF编辑器的滚动条操作,仅需调用FigureCanvas的scrollToX(int hOffset)和scrollToY(int vOffset)即可.</p>
		<p>获取FigureCanvas的方法也比较简单.通过EditPart.getViewer()获得EditPartViewer,一般情况下EditPartViewer的Control就是FigureCanvas.</p>
		<p>列出代码如下:<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">
				<span style="COLOR: #000000">FigureCanvas canvas </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> (FigureCanvas)EditPart.getViewer().getControl();<br />canvas.scrollToX(</span>
				<span style="COLOR: #000000">500</span>
				<span style="COLOR: #000000">);<br />canvas.scrollToY(</span>
				<span style="COLOR: #000000">600</span>
				<span style="COLOR: #000000">);<br />System.out.println(canvas.getBounds());<br />System.out.println(canvas.getContents().getBounds());</span>
		</div>
<img src ="http://www.blogjava.net/Hexise/aggbug/90718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 13:16 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Tip]将Object数组转换为String数组</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90717.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 05:12:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90717.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90717.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90717.html</trackback:ping><description><![CDATA[
		<p>这个函数用法经常忘..<br /><font color="#ff0000">(String[])ArrayList.toArray(new String[0]);</font></p>
<img src ="http://www.blogjava.net/Hexise/aggbug/90717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 13:12 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[复习基础]Java的二叉树遍历操作(递归, 非递归)</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90713.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90713.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90713.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90713.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90713.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90713.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 树节点定义:class TreeNode {    public TreeNode left;    public TreeNode right;    public int value;    public TreeNode(TreeNode left, TreeNode right, int value) {        this.left = left;        this.right...&nbsp;&nbsp;<a href='http://www.blogjava.net/Hexise/archive/2006/12/29/90713.html'>阅读全文</a><img src ="http://www.blogjava.net/Hexise/aggbug/90713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 13:01 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置JFace的Dialog样式</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90708.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 04:53:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90708.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90708.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90708.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90708.html</trackback:ping><description><![CDATA[
		<p>经常性的,自己设计的对话框无法改变大小,没有最大化最小化按钮,等等.在哪里设置这些属性呢?</p>
		<p>JFace的Dialog继承于Window类,该类中有一方法,设置Shell的样式.<br /><br /></p>
		<h3>setShellStyle</h3>
		<pre>protected void <b>setShellStyle</b>(int newShellStyle)</pre>
		<dl>
				<dd>Sets the shell style bits. This method has no effect after the shell is created. 
<p>The shell style bits are used by the framework method <code>createShell</code> when creating this window's shell. </p><p></p></dd>
				<dd>
						<dl>
						</dl>
				</dd>
				<dd>
						<dl>
								<dt>
										<b>Parameters:</b>
								</dt>
								<dd>
										<div align="left">
												<code>newShellStyle</code> - the new shell style bits<br /></div>
								</dd>
						</dl>
				</dd>
		</dl>
		<p>
				<br />在Dialog的构造函数中调用该方法,即可更改Dialog的样式.下为一例:<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.jface.dialogs.Dialog;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.SWT;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.browser.Browser;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.layout.GridData;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.widgets.Composite;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.widgets.Control;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.widgets.Shell;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_312_762_Open_Image" onclick="this.style.display='none'; Codehighlighter1_312_762_Open_Text.style.display='none'; Codehighlighter1_312_762_Closed_Image.style.display='inline'; Codehighlighter1_312_762_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_312_762_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_312_762_Closed_Text.style.display='none'; Codehighlighter1_312_762_Open_Image.style.display='inline'; Codehighlighter1_312_762_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> BrowserDialog </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> Dialog </span>
				<span id="Codehighlighter1_312_762_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" />
				</span>
				<span id="Codehighlighter1_312_762_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String url;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_385_480_Open_Image" onclick="this.style.display='none'; Codehighlighter1_385_480_Open_Text.style.display='none'; Codehighlighter1_385_480_Closed_Image.style.display='inline'; Codehighlighter1_385_480_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_385_480_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_385_480_Closed_Text.style.display='none'; Codehighlighter1_385_480_Open_Image.style.display='inline'; Codehighlighter1_385_480_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> BrowserDialog(Shell parent, String url) </span>
						<span id="Codehighlighter1_385_480_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" />
						</span>
						<span id="Codehighlighter1_385_480_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">super</span>
								<span style="COLOR: #000000">(parent);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        setShellStyle(getShellStyle() </span>
								<span style="COLOR: #000000">|</span>
								<span style="COLOR: #000000"> SWT.RESIZE </span>
								<span style="COLOR: #000000">|</span>
								<span style="COLOR: #000000"> SWT.MAX);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.url </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> url;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_535_760_Open_Image" onclick="this.style.display='none'; Codehighlighter1_535_760_Open_Text.style.display='none'; Codehighlighter1_535_760_Closed_Image.style.display='inline'; Codehighlighter1_535_760_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_535_760_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_535_760_Closed_Text.style.display='none'; Codehighlighter1_535_760_Open_Image.style.display='inline'; Codehighlighter1_535_760_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">protected</span>
						<span style="COLOR: #000000"> Control createContents(Composite parent) </span>
						<span id="Codehighlighter1_535_760_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" />
						</span>
						<span id="Codehighlighter1_535_760_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Browser browser </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Browser(parent, SWT.NONE);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        browser.setUrl(url);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        GridData gd </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> GridData(GridData.FILL_BOTH);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        gd.minimumWidth </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">600</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        gd.minimumHeight </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">400</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        browser.setLayoutData(gd);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> browser;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.SWT;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.widgets.Display;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.eclipse.swt.widgets.Shell;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_131_515_Open_Image" onclick="this.style.display='none'; Codehighlighter1_131_515_Open_Text.style.display='none'; Codehighlighter1_131_515_Closed_Image.style.display='inline'; Codehighlighter1_131_515_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_131_515_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_131_515_Closed_Text.style.display='none'; Codehighlighter1_131_515_Open_Image.style.display='inline'; Codehighlighter1_131_515_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> TestDialog </span>
				<span id="Codehighlighter1_131_515_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" />
				</span>
				<span id="Codehighlighter1_131_515_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_174_513_Open_Image" onclick="this.style.display='none'; Codehighlighter1_174_513_Open_Text.style.display='none'; Codehighlighter1_174_513_Closed_Image.style.display='inline'; Codehighlighter1_174_513_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_174_513_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_174_513_Closed_Text.style.display='none'; Codehighlighter1_174_513_Open_Image.style.display='inline'; Codehighlighter1_174_513_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String[] args) </span>
						<span id="Codehighlighter1_174_513_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" />
						</span>
						<span id="Codehighlighter1_174_513_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">final</span>
								<span style="COLOR: #000000"> Shell shell </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Shell(SWT.DIALOG_TRIM </span>
								<span style="COLOR: #000000">|</span>
								<span style="COLOR: #000000"> SWT.RESIZE </span>
								<span style="COLOR: #000000">|</span>
								<span style="COLOR: #000000"> SWT.MIN </span>
								<span style="COLOR: #000000">|</span>
								<span style="COLOR: #000000"> SWT.MAX);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">final</span>
								<span style="COLOR: #000000"> Display display </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> shell.getDisplay();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        String path </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">C:/Temp/log.html</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        BrowserDialog dlg </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> BrowserDialog(shell, path);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        dlg.open();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_442_509_Open_Image" onclick="this.style.display='none'; Codehighlighter1_442_509_Open_Text.style.display='none'; Codehighlighter1_442_509_Closed_Image.style.display='inline'; Codehighlighter1_442_509_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_442_509_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_442_509_Closed_Text.style.display='none'; Codehighlighter1_442_509_Open_Image.style.display='inline'; Codehighlighter1_442_509_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">while</span>
								<span style="COLOR: #000000"> (</span>
								<span style="COLOR: #000000">!</span>
								<span style="COLOR: #000000">shell.isDisposed()) </span>
								<span id="Codehighlighter1_442_509_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" />
								</span>
								<span id="Codehighlighter1_442_509_Open_Text">
										<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_479_505_Open_Image" onclick="this.style.display='none'; Codehighlighter1_479_505_Open_Text.style.display='none'; Codehighlighter1_479_505_Closed_Image.style.display='inline'; Codehighlighter1_479_505_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_479_505_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_479_505_Closed_Text.style.display='none'; Codehighlighter1_479_505_Open_Image.style.display='inline'; Codehighlighter1_479_505_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000"> (</span>
										<span style="COLOR: #000000">!</span>
										<span style="COLOR: #000000">display.readAndDispatch()) </span>
										<span id="Codehighlighter1_479_505_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" />
										</span>
										<span id="Codehighlighter1_479_505_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                display.sleep();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.blogjava.net/Hexise/aggbug/90708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 12:53 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse创建Image方法</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90703.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 04:43:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90703.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90703.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90703.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90703.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90703.html</trackback:ping><description><![CDATA[通过图像的相对路径创建org.eclipse.swt.graphics.Image,我通常使用下面两种途径:<br /><br />1.使用Image(Device device, InputStream stream)构造函数,示例代码如下, path为图像相对路径:<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 id="Codehighlighter1_35_134_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_134_Open_Text.style.display='none'; Codehighlighter1_35_134_Closed_Image.style.display='inline'; Codehighlighter1_35_134_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_35_134_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_35_134_Closed_Text.style.display='none'; Codehighlighter1_35_134_Open_Image.style.display='inline'; Codehighlighter1_35_134_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Image getImage(String path)</span><span id="Codehighlighter1_35_134_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" /></span><span id="Codehighlighter1_35_134_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Image(Display.getCurrent(), getClass().getResourceAsStream(path));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />2.使用ImageDescriptor的createImage()方法,示例代码如下,path为图像相对路径:<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 id="Codehighlighter1_36_319_Open_Image" onclick="this.style.display='none'; Codehighlighter1_36_319_Open_Text.style.display='none'; Codehighlighter1_36_319_Closed_Image.style.display='inline'; Codehighlighter1_36_319_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_36_319_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_36_319_Closed_Text.style.display='none'; Codehighlighter1_36_319_Open_Image.style.display='inline'; Codehighlighter1_36_319_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Image getImage(String path)</span><span id="Codehighlighter1_36_319_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" /></span><span id="Codehighlighter1_36_319_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  URL url </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_61_145_Open_Image" onclick="this.style.display='none'; Codehighlighter1_61_145_Open_Text.style.display='none'; Codehighlighter1_61_145_Closed_Image.style.display='inline'; Codehighlighter1_61_145_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_61_145_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_61_145_Closed_Text.style.display='none'; Codehighlighter1_61_145_Open_Image.style.display='inline'; Codehighlighter1_61_145_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span><span style="COLOR: #0000ff">try</span><span id="Codehighlighter1_61_145_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" /></span><span id="Codehighlighter1_61_145_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   url </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> URL(Activator.getDefault().getDescriptor().getInstallURL(), path);<br /><img id="Codehighlighter1_176_204_Open_Image" onclick="this.style.display='none'; Codehighlighter1_176_204_Open_Text.style.display='none'; Codehighlighter1_176_204_Closed_Image.style.display='inline'; Codehighlighter1_176_204_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_176_204_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_176_204_Closed_Text.style.display='none'; Codehighlighter1_176_204_Open_Image.style.display='inline'; Codehighlighter1_176_204_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  }</span></span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(MalformedURLException e)</span><span id="Codehighlighter1_176_204_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" /></span><span id="Codehighlighter1_176_204_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   e.printStackTrace();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />  }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  ImageDescriptor imageDescriptor </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ImageDescriptor.createFromURL(url);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />  </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> imageDescriptor.createImage();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> }</span></span></div><br />或者:<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 id="Codehighlighter1_35_147_Open_Image" onclick="this.style.display='none'; Codehighlighter1_35_147_Open_Text.style.display='none'; Codehighlighter1_35_147_Closed_Image.style.display='inline'; Codehighlighter1_35_147_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_35_147_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_35_147_Closed_Text.style.display='none'; Codehighlighter1_35_147_Open_Image.style.display='inline'; Codehighlighter1_35_147_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Image getImage(String path)</span><span id="Codehighlighter1_35_147_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" /></span><span id="Codehighlighter1_35_147_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   ImageDescriptor desc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> AbstractUIPlugin.imageDescriptorFromPlugin(ID, path);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> desc.createImage();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><img src ="http://www.blogjava.net/Hexise/aggbug/90703.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 12:43 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90703.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse中的相对坐标和绝对坐标</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90702.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 04:26:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90702.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90702.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90702.html</trackback:ping><description><![CDATA[
		<p>转换成<font color="#ff0000">相对坐标,</font>要运用translateToRelative(Point point)方法.</p>
		<p>例如,在Eclipse Editor视图中加入Figure,需要计算出相对于HostFigure的坐标,才能正确将figure放在鼠标点击的位置.可以如下这样做:</p>
		<p>在getCreateCommand(CreateRequest request)方法中,加入如下语句:</p>
		<p>Point location = request.getLocation().getCopy();<br />getHostFigure().translateToRelative(location);<br /><br />如此获得的location就是相对于HostFigure的坐标.<br /><br /><br /><br /><br /></p>
		<p>能够获得当前光标<font color="#ff0000">绝对坐标</font>的方法是:<br /><br />Display.getDefault().getCursorLocation()</p>
<img src ="http://www.blogjava.net/Hexise/aggbug/90702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 12:26 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse插件如何刷新资源管理器?</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90700.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 04:19:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90700.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90700.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90700.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90700.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90700.html</trackback:ping><description><![CDATA[
		<p>最近项目中出现了一个bug,提示是Resource can not sync with file system.是文件系统不同步的问题,需要手动刷新一下资源管理器.</p>
		<p>刷新资源管理器调用方法:</p>
		<p>
				<strong>
						<font size="4">RefreshLocal</font>
				</strong>
		</p>
		<p>public void refreshLocal(int depth, IProgressMonitor monitor)<br />                  throws CoreException</p>
		<p>Refreshes the resource hierarchy from this resource and its children (to the specified depth) relative to the local file system. Creations, deletions, and changes detected in the local file system will be reflected in the workspace's resource tree. This resource need not exist or be local. <br />This method may discover changes to resources; any such changes will be reported in a subsequent resource change event. </p>
		<p>If a new file or directory is discovered in the local file system at or below the location of this resource, any parent folders required to contain the new resource in the workspace will also be created automatically as required. </p>
		<p>This method is long-running; progress and cancellation are provided by the given progress monitor. </p>
		<p>
				<br />Parameters:<br />depth - valid values are DEPTH_ZERO, DEPTH_ONE, or DEPTH_INFINITE<br />monitor - a progress monitor, or null if progress reporting is not desired <br />Throws: <br />CoreException - if this method fails. Reasons include: <br />Resource changes are disallowed during certain types of resource change event notification. See IResourceChangeEvent for more details. <br />OperationCanceledException - if the operation is canceled. Cancelation can occur even if no progress monitor is provided.<br />See Also:<br />DEPTH_ZERO, DEPTH_ONE, DEPTH_INFINITE, IResourceRuleFactory.refreshRule(IResource)</p>
		<p>该方法位于org.eclipse.core.resources.IResource</p>
		<p>我的调用方法是:</p>
		<p>ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, monitor);</p>
<img src ="http://www.blogjava.net/Hexise/aggbug/90700.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 12:19 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90700.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT中获取字符串占用像素数</title><link>http://www.blogjava.net/Hexise/archive/2006/12/29/90683.html</link><dc:creator>Hexise</dc:creator><author>Hexise</author><pubDate>Fri, 29 Dec 2006 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/Hexise/archive/2006/12/29/90683.html</guid><wfw:comment>http://www.blogjava.net/Hexise/comments/90683.html</wfw:comment><comments>http://www.blogjava.net/Hexise/archive/2006/12/29/90683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Hexise/comments/commentRss/90683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Hexise/services/trackbacks/90683.html</trackback:ping><description><![CDATA[可以使用GC类的getAdvanceWidth(char ch)获取当前字符所占的像素宽度.<br /><p><strong>getAdvanceWidth</strong></p><p><strong>          </strong>public int <b>getAdvanceWidth</b>(char ch) </p><dl><dd>Returns the <em>advance width</em> of the specified character in the font which is currently selected into the receiver. 
<p>The advance width is defined as the horizontal distance the cursor should move after printing the character in the selected font. </p><p></p></dd><dd><dl><dt><b>Parameters:</b></dt><dd>ch - the character to measure 
</dd><dt><b>Returns:</b></dt><dd>the distance in the x direction to move past the character before painting the next 
</dd><dt><b>Throws:</b></dt><dd><a title="class in org.eclipse.swt" href="http://spaces.msn.com/org/eclipse/swt/SWTException.html"><u>SWTException</u></a> - 
<ul><li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed </li></ul></dd></dl></dd></dl><p>可以如下面的程序使用该函数:</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_65_254_Open_Image" onclick="this.style.display='none'; Codehighlighter1_65_254_Open_Text.style.display='none'; Codehighlighter1_65_254_Closed_Image.style.display='inline'; Codehighlighter1_65_254_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_65_254_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_65_254_Closed_Text.style.display='none'; Codehighlighter1_65_254_Open_Image.style.display='inline'; Codehighlighter1_65_254_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> getStringWidth(String string, Control control) </span><span id="Codehighlighter1_65_254_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" /></span><span id="Codehighlighter1_65_254_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> width </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    GC gc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> GC(control);<br /><img id="Codehighlighter1_153_220_Open_Image" onclick="this.style.display='none'; Codehighlighter1_153_220_Open_Text.style.display='none'; Codehighlighter1_153_220_Closed_Image.style.display='inline'; Codehighlighter1_153_220_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_153_220_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_153_220_Closed_Text.style.display='none'; Codehighlighter1_153_220_Open_Image.style.display='inline'; Codehighlighter1_153_220_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> string.length(); i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) </span><span id="Codehighlighter1_153_220_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" /></span><span id="Codehighlighter1_153_220_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> string.charAt(i);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        width </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> gc.getAdvanceWidth(c);<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    gc.dispose();<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> width;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><br />或者更通用的,其中string是目标字符串,font是你要设给字符串的字体对象:<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 id="Codehighlighter1_58_394_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_394_Open_Text.style.display='none'; Codehighlighter1_58_394_Closed_Image.style.display='inline'; Codehighlighter1_58_394_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_58_394_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_58_394_Closed_Text.style.display='none'; Codehighlighter1_58_394_Open_Image.style.display='inline'; Codehighlighter1_58_394_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> getStringWidth(String string, Font font)</span><span id="Codehighlighter1_58_394_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" /></span><span id="Codehighlighter1_58_394_Open_Text"><span style="COLOR: #000000">{<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> width </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    Shell shell </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Shell();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    Label label </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Label(shell, SWT.NONE);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    label.setFont(font);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    GC gc </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> GC(label);<br /><img id="Codehighlighter1_247_333_Open_Image" onclick="this.style.display='none'; Codehighlighter1_247_333_Open_Text.style.display='none'; Codehighlighter1_247_333_Closed_Image.style.display='inline'; Codehighlighter1_247_333_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_247_333_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_247_333_Closed_Text.style.display='none'; Codehighlighter1_247_333_Open_Image.style.display='inline'; Codehighlighter1_247_333_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">string.length();i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_247_333_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" /></span><span id="Codehighlighter1_247_333_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> string.charAt(i);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          width </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> gc.getAdvanceWidth(c);<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    gc.dispose();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    shell.dispose();<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> width;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><img src ="http://www.blogjava.net/Hexise/aggbug/90683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Hexise/" target="_blank">Hexise</a> 2006-12-29 11:21 <a href="http://www.blogjava.net/Hexise/archive/2006/12/29/90683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>