??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精选视频一区二区,欧美h视频在线,国产日产久久高清欧美一区http://www.aygfsteel.com/dreamstone/archive/2009/09/14/295047.htmldreamstonedreamstoneMon, 14 Sep 2009 10:01:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2009/09/14/295047.htmlhttp://www.aygfsteel.com/dreamstone/comments/295047.htmlhttp://www.aygfsteel.com/dreamstone/archive/2009/09/14/295047.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/295047.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/295047.html http://www.aygfsteel.com/Files/dreamstone/eclipse1.part1.rar
http://www.aygfsteel.com/Files/dreamstone/eclipse1.part2.rar
http://www.aygfsteel.com/Files/dreamstone/eclipse1.part3.rar
http://www.aygfsteel.com/Files/dreamstone/eclipse1.part4.rar
http://www.aygfsteel.com/Files/dreamstone/eclipse1.part5.rar
http://www.aygfsteel.com/Files/dreamstone/eclipse1.part6.rar

dreamstone 2009-09-14 18:01 发表评论
]]>
eclipse 插g开发中如何实现h和重~译http://www.aygfsteel.com/dreamstone/archive/2007/08/28/140578.htmldreamstonedreamstoneTue, 28 Aug 2007 08:32:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/28/140578.htmlhttp://www.aygfsteel.com/dreamstone/comments/140578.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/28/140578.html#Feedback2http://www.aygfsteel.com/dreamstone/comments/commentRss/140578.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/140578.html或者重新编译一?那如何实现这两个操作呢?br>一、实现刷?br>1、一个关键的接口是org.eclipse.core.resources.IResource
调用q个接口的refreshLocalҎ卛_。例如refreshLocal(IResource.DEPTH_INFINITE, null)
2、到底有哪些cdCq个接口?
来看一下承结?br>首先l承自IResource的接口有IContainer、IFolder、IProject、IWorkspaceRoot、IFile一??br>加上IResource 6个,凡是实现q些接口的都可以?br>3、接口的l承l构
接口                                 extends
IResource                          ?nbsp;
IContainer                     IResource
IFile                                IResource
IFolder                           IContainer
IProject                          IContainer
IWorkspaceRoot         IContainer

4、类的承结?/span>

c?nbsp;                           
extends                        implements
Resource                     ?nbsp;                            IResource
Container                Resource                     IContainer
File                           Resource                     IFile
Folder                      Container                    IFolder
Project                     Container                    IProject
WorkspaceRoot    Container                    IWorkspaceRoot

二、实现重~译(也就是clean)
clean all:
ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD,
monitor);
 
clean one project
((IProject) selection[i]).build(IncrementalProjectBuilder.CLEAN_BUILD, 
new
SubProgressMonitor(monitor, 
1));
感谢luma@smth cloudor@smth的帮?br>

dreamstone 2007-08-28 16:32 发表评论
]]>
Swt/Jfaceq度?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/10/135728.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Fri, 10 Aug 2007 01:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/10/135728.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/135728.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/10/135728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/135728.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/135728.html</trackback:ping><description><![CDATA[处理长时间的d的时候常需要进度条昄Q有几种实现方式<br>1Q普通的q度?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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.lang.reflect.InvocationTargetException;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.core.runtime.IProgressMonitor;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.dialogs.ProgressMonitorDialog;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.operation.IRunnableWithProgress;<br><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_323_1188_Open_Image onclick="this.style.display='none'; Codehighlighter1_323_1188_Open_Text.style.display='none'; Codehighlighter1_323_1188_Closed_Image.style.display='inline'; Codehighlighter1_323_1188_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_323_1188_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_323_1188_Closed_Text.style.display='none'; Codehighlighter1_323_1188_Open_Image.style.display='inline'; Codehighlighter1_323_1188_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> TestProgress </span><span id=Codehighlighter1_323_1188_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_323_1188_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> stopflg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_359_409_Open_Image onclick="this.style.display='none'; Codehighlighter1_359_409_Open_Text.style.display='none'; Codehighlighter1_359_409_Closed_Image.style.display='inline'; Codehighlighter1_359_409_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_359_409_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_359_409_Closed_Text.style.display='none'; Codehighlighter1_359_409_Open_Image.style.display='inline'; Codehighlighter1_359_409_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_359_409_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_359_409_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * Launch the application<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> args<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_467_1185_Open_Image onclick="this.style.display='none'; Codehighlighter1_467_1185_Open_Text.style.display='none'; Codehighlighter1_467_1185_Closed_Image.style.display='inline'; Codehighlighter1_467_1185_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_467_1185_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_467_1185_Closed_Text.style.display='none'; Codehighlighter1_467_1185_Open_Image.style.display='inline'; Codehighlighter1_467_1185_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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 style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> Exception</span><span id=Codehighlighter1_467_1185_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_467_1185_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/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"> Display.getDefault();<br><img src="http://www.aygfsteel.com/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();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setSize(</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">375</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SWT Application</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #008000">//<br><img id=Codehighlighter1_685_993_Open_Image onclick="this.style.display='none'; Codehighlighter1_685_993_Open_Text.style.display='none'; Codehighlighter1_685_993_Closed_Image.style.display='inline'; Codehighlighter1_685_993_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_685_993_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_685_993_Closed_Text.style.display='none'; Codehighlighter1_685_993_Open_Image.style.display='inline'; Codehighlighter1_685_993_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">        IRunnableWithProgress runnable </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> IRunnableWithProgress()</span><span id=Codehighlighter1_685_993_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_685_993_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_787_989_Open_Image onclick="this.style.display='none'; Codehighlighter1_787_989_Open_Text.style.display='none'; Codehighlighter1_787_989_Closed_Image.style.display='inline'; Codehighlighter1_787_989_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_787_989_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_787_989_Closed_Text.style.display='none'; Codehighlighter1_787_989_Open_Image.style.display='inline'; Codehighlighter1_787_989_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> run(IProgressMonitor monitor) </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> InvocationTargetException, InterruptedException </span><span id=Codehighlighter1_787_989_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_787_989_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                monitor.beginTask(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">generate</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">);<br><img id=Codehighlighter1_854_959_Open_Image onclick="this.style.display='none'; Codehighlighter1_854_959_Open_Text.style.display='none'; Codehighlighter1_854_959_Closed_Image.style.display='inline'; Codehighlighter1_854_959_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_854_959_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_854_959_Closed_Text.style.display='none'; Codehighlighter1_854_959_Open_Image.style.display='inline'; Codehighlighter1_854_959_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"><</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_854_959_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_854_959_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_885_906_Open_Image onclick="this.style.display='none'; Codehighlighter1_885_906_Open_Text.style.display='none'; Codehighlighter1_885_906_Closed_Image.style.display='inline'; Codehighlighter1_885_906_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_885_906_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_885_906_Closed_Text.style.display='none'; Codehighlighter1_885_906_Open_Image.style.display='inline'; Codehighlighter1_885_906_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(monitor.isCanceled())</span><span id=Codehighlighter1_885_906_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_885_906_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                    monitor.worked(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                    Thread.sleep(</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                monitor.done();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>            }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ProgressMonitorDialog(shell).run(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">, runnable);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.open();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.layout();<br><img id=Codehighlighter1_1122_1182_Open_Image onclick="this.style.display='none'; Codehighlighter1_1122_1182_Open_Text.style.display='none'; Codehighlighter1_1122_1182_Closed_Image.style.display='inline'; Codehighlighter1_1122_1182_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1122_1182_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1122_1182_Closed_Text.style.display='none'; Codehighlighter1_1122_1182_Open_Image.style.display='inline'; Codehighlighter1_1122_1182_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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_1122_1182_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1122_1182_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.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())<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                display.sleep();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span></div> 2,反复循环的进度条<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.lang.reflect.InvocationTargetException;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.core.runtime.IProgressMonitor;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.dialogs.ProgressMonitorDialog;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.operation.IRunnableWithProgress;<br><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_323_1257_Open_Image onclick="this.style.display='none'; Codehighlighter1_323_1257_Open_Text.style.display='none'; Codehighlighter1_323_1257_Closed_Image.style.display='inline'; Codehighlighter1_323_1257_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_323_1257_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_323_1257_Closed_Text.style.display='none'; Codehighlighter1_323_1257_Open_Image.style.display='inline'; Codehighlighter1_323_1257_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> TestProgress </span><span id=Codehighlighter1_323_1257_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_323_1257_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> stopflg </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_359_409_Open_Image onclick="this.style.display='none'; Codehighlighter1_359_409_Open_Text.style.display='none'; Codehighlighter1_359_409_Closed_Image.style.display='inline'; Codehighlighter1_359_409_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_359_409_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_359_409_Closed_Text.style.display='none'; Codehighlighter1_359_409_Open_Image.style.display='inline'; Codehighlighter1_359_409_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_359_409_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_359_409_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * Launch the application<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> args<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_467_1254_Open_Image onclick="this.style.display='none'; Codehighlighter1_467_1254_Open_Text.style.display='none'; Codehighlighter1_467_1254_Closed_Image.style.display='inline'; Codehighlighter1_467_1254_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_467_1254_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_467_1254_Closed_Text.style.display='none'; Codehighlighter1_467_1254_Open_Image.style.display='inline'; Codehighlighter1_467_1254_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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 style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> Exception</span><span id=Codehighlighter1_467_1254_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_467_1254_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/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"> Display.getDefault();<br><img src="http://www.aygfsteel.com/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();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setSize(</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">375</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SWT Application</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #008000">//<br><img id=Codehighlighter1_685_1062_Open_Image onclick="this.style.display='none'; Codehighlighter1_685_1062_Open_Text.style.display='none'; Codehighlighter1_685_1062_Closed_Image.style.display='inline'; Codehighlighter1_685_1062_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_685_1062_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_685_1062_Closed_Text.style.display='none'; Codehighlighter1_685_1062_Open_Image.style.display='inline'; Codehighlighter1_685_1062_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">        IRunnableWithProgress runnable </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> IRunnableWithProgress()</span><span id=Codehighlighter1_685_1062_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_685_1062_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_787_1058_Open_Image onclick="this.style.display='none'; Codehighlighter1_787_1058_Open_Text.style.display='none'; Codehighlighter1_787_1058_Closed_Image.style.display='inline'; Codehighlighter1_787_1058_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_787_1058_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_787_1058_Closed_Text.style.display='none'; Codehighlighter1_787_1058_Open_Image.style.display='inline'; Codehighlighter1_787_1058_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> run(IProgressMonitor monitor) </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> InvocationTargetException, InterruptedException </span><span id=Codehighlighter1_787_1058_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_787_1058_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                monitor.beginTask(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">generate</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                </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">;<br><img id=Codehighlighter1_856_1033_Open_Image onclick="this.style.display='none'; Codehighlighter1_856_1033_Open_Text.style.display='none'; Codehighlighter1_856_1033_Closed_Image.style.display='inline'; Codehighlighter1_856_1033_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_856_1033_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_856_1033_Closed_Text.style.display='none'; Codehighlighter1_856_1033_Open_Image.style.display='inline'; Codehighlighter1_856_1033_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>                </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_856_1033_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_856_1033_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_874_894_Open_Image onclick="this.style.display='none'; Codehighlighter1_874_894_Open_Text.style.display='none'; Codehighlighter1_874_894_Closed_Image.style.display='inline'; Codehighlighter1_874_894_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_874_894_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_874_894_Closed_Text.style.display='none'; Codehighlighter1_874_894_Open_Image.style.display='inline'; Codehighlighter1_874_894_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(stopflg)</span><span id=Codehighlighter1_874_894_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_874_894_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                    i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_920_979_Open_Image onclick="this.style.display='none'; Codehighlighter1_920_979_Open_Text.style.display='none'; Codehighlighter1_920_979_Closed_Image.style.display='inline'; Codehighlighter1_920_979_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_920_979_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_920_979_Closed_Text.style.display='none'; Codehighlighter1_920_979_Open_Image.style.display='inline'; Codehighlighter1_920_979_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_920_979_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_920_979_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                        i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                        monitor.beginTask(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">generate</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                    monitor.worked(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                    Thread.sleep(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>                }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                monitor.done();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>            }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000">;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ProgressMonitorDialog(shell).run(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">, runnable);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.open();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.layout();<br><img id=Codehighlighter1_1191_1251_Open_Image onclick="this.style.display='none'; Codehighlighter1_1191_1251_Open_Text.style.display='none'; Codehighlighter1_1191_1251_Closed_Image.style.display='inline'; Codehighlighter1_1191_1251_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1191_1251_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1191_1251_Closed_Text.style.display='none'; Codehighlighter1_1191_1251_Open_Image.style.display='inline'; Codehighlighter1_1191_1251_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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_1191_1251_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1191_1251_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.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())<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                display.sleep();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span></div> 3,rcp中后CQ务的q度?br>使用Job建立后台dQ只需要设|job.setUser(true)q度条就出现了,和上边一Pq度条需要自己来控制q度。如果做一个cool的进度条Q就看你如何让进度条昄出实际的dq程? <img src ="http://www.aygfsteel.com/dreamstone/aggbug/135728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-10 09:59 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/10/135728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l自定义Dialog加入保留对话框值的功能http://www.aygfsteel.com/dreamstone/archive/2007/08/09/134565.htmldreamstonedreamstoneThu, 09 Aug 2007 10:13:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134565.htmlhttp://www.aygfsteel.com/dreamstone/comments/134565.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134565.html#Feedback1http://www.aygfsteel.com/dreamstone/comments/commentRss/134565.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134565.html在上?自定义Dialog"的代码上加入三个函数Q?br>
public void saveState(){
        
if (text.getText() == null || text.getText().equals("")){
            
return ;
        }

        IDialogSettings topSettings 
= getTopSettings();
        IDialogSettings settings 
=  topSettings.getSection("TestDialog");
        
if(settings == null)settings = topSettings.addNewSection("TestDialog");
        settings.put(
"value", text.getText());
        
try{
            topSettings.save(
"content/system.xml");
        }
catch(IOException e){
            System.out.println(e.getMessage());
        }

    }

    
public void restoreState(){
        IDialogSettings topSettings 
= getTopSettings();
        IDialogSettings settings 
=  topSettings.getSection("TestDialog");
        
if(settings == nullreturn;
        
if (text.getText() == null || text.getText().equals("")){
            text.setText(settings.get(
"value"));
        }

    }

    
public IDialogSettings getTopSettings(){
        IDialogSettings topSettings 
= new DialogSettings("system");
        
try{
            topSettings.load(
"content/system.xml");
        }
catch(IOException e){
            System.out.println(e.getMessage());
        }

        
return topSettings;
    }

然后在覆写的buttonPressed函数中调用save
protected void buttonPressed(int button){
        saveState();
    }
在createDialogArea函数中加入取出数?br>
protected Control createDialogArea(Composite parent) {
        Composite container 
= (Composite) super.createDialogArea(parent);
        container.setLayout(
new RowLayout());
        text 
= new Text(container, SWT.BORDER);
        text.setLayoutData(
new RowData(100,-1));
        
//加入q一?/span>
        if (text.getText() == null || text.getText().equals("")){
            restoreState();
        }

        
return container;
    }
最后,记得建立需要的文gQ在当前workspace下徏立文件夹content,然后在文件夹下徏立system.xml文g。当然你也可以利用程序来实现?br>q行一下看看吧Q是不是C了上ơ填入的内容.
source下蝲:http://www.aygfsteel.com/Files/dreamstone/jface-record.rar


dreamstone 2007-08-09 18:13 发表评论
]]>
swt/jface 自定?Dialoghttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134560.htmldreamstonedreamstoneThu, 09 Aug 2007 09:42:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134560.htmlhttp://www.aygfsteel.com/dreamstone/comments/134560.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134560.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/134560.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134560.html一、写一个类Q承自Dialog
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.widgets.Shell;

public class TestDialog extends Dialog {

    
public TestDialog(Shell parentShell) {
        
super(parentShell);
    }

}

好了Q写好了Q如何运行呢Q?br>再写一个类Q?br>
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class Test {
    
public static void main(String[] args) {
        Shell shell 
= new Shell();
        TestDialog td 
= new TestDialog(shell);
        td.setBlockOnOpen(
true);
        td.open();
        Display.getCurrent().dispose();
    }

}

好了q行一下看到效果了吧,带有两个button.
二、看C边的代码是否会想到别的呢Qؓ什么要再写一个类来运行Dialog,不能在内部写个mainҎ吗?
我们来试一下:
Ҏ一Q参考Jface hello world的的写法:
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class TestDialog extends Dialog {

    
public TestDialog(Shell parentShell) {
        
super(parentShell);
    }

    
public static void main(String[] args) {
        TestDialog td 
= new TestDialog(new Shell());
        td.setBlockOnOpen(
true);
        td.open();
        Display.getCurrent().dispose();
    }

}


q行一下看看什么效果,提示找不到mainҎ。且打印出如下Exception
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
 at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:184)
 at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:310)
 at org.eclipse.jface.dialogs.Dialog.<clinit>(Dialog.java:211)
Exception in thread "main"
Z么呢Q我们是有mainҎ的,跟进Exceptionȝ看吧?br>发现问题出现在Dialogcȝq段代码?
static {
        ImageRegistry reg 
= JFaceResources.getImageRegistry();
        reg.put(DLG_IMG_MESSAGE_INFO, ImageDescriptor.createFromFile(
                Dialog.
class"images/message_info.gif")); //$NON-NLS-1$
        reg.put(DLG_IMG_MESSAGE_WARNING, ImageDescriptor.createFromFile(
                Dialog.
class"images/message_warning.gif")); //$NON-NLS-1$
        reg.put(DLG_IMG_MESSAGE_ERROR, ImageDescriptor.createFromFile(
                Dialog.
class"images/message_error.gif")); //$NON-NLS-1$
    }

原来在静态代码块上出CException,造成在运行main函数之前退Z。所以才说没有main函数?br>我们知道classload在加载一个类的时候,对于静态代码块会逐行执行Q按照出现的先后序。同时父cȝ静态代码块一定比子类的先执行。因?br>在load子类之前会先load父类。这是Z么hello world中不会出现问题,q里会出现问题的原因。因为Dialog比ApplicationWindow多了q段静态代码?/p>

l箋q下Mؓ什么这D代码会出现I指针异常呢Q原来这D代码依赖于new Shell()必须先运行。而我们的new Shell()写在mainҎ里边Q肯定是在加载类完成后才能运行的。所以在cd部直接写个mainҎ是不行的。只能单独写个类来调用?br>Ҏ二:
单独写个cd下:

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class Test {
    
public static void main(String[] args) {
        TestDialog td 
= new TestDialog(new Shell());
        td.setBlockOnOpen(
true);
        td.open();
        Display.getCurrent().dispose();
    }

}

依然是不行的Q报同样的错误,Z么?仔细看一下,我们把new Shell()写在构造函数的参数里,其实范了和刚才同L错误。所以单独提出new Shell()Q写在构造函C前。就得到了文章开始的TestcR^时我们用的时候ؓ什么不个问题呢Q因为我们^时用的时候Dialog从里不是单独存在的,在之前shell早被构造过了。反而是demo更容易出q个问题?br>好了Q上边只是个插Ԍl箋我们的自定义Dialog.
三、去掉两个按?br>虽然Dialog天生带的两个按钮不错Q但我们有的时候ƈ不想要这两个按钮Q怎么办,如何L它?
单,只要我们覆盖父类的createButtonsForButtonBarq个Ҏ可以了Q覆写这个方法,里边什么也不写
protected void createButtonsForButtonBar(Composite parent) {
    }

看一下按钮消׃?br>四、加入右上角的最大化和关?br>覆写父类的这个方法:
protected int getShellStyle(){
        
return super.getShellStyle()|SWT.RESIZE|SWT.MAX;
    }

五、改变Dialog的大?br>覆写q个ҎQ?br>
protected Point getInitialSize(){
        
return new Point(300,400);//300是宽400是高
    }
六、加入自q控g
覆写createDialogAreaҎ
protected Control createDialogArea(Composite parent) {
        Composite container 
= (Composite) super.createDialogArea(parent);
        container.setLayout(
new RowLayout());
        text 
= new Text(container, SWT.BORDER);
        text.setLayoutData(
new RowData(100,-1));
        
return container;
    }

q里使用了RowLayout
七、加入自q按钮
覆写initializeBounds
protected void initializeBounds(){
        Composite comp 
= (Composite)getButtonBar();
        
super.createButton(comp, IDialogConstants.OK_ID, "完成"true);
    }
好了q里自定义Dialog完成了,然后Ҏ你的需要再Dialog中添加更负蝲的控Ӟ更多的按钮。最后目的当然是从Dialog取道数倹{?br>八、带提示框的Dialog
使用Ҏ和前边相同,不同的是不是l承自Dialog而是l承自TitleAreaDialogQ然后在createDialogArea中加入两?br>
setTitle("标题");
setMessage(
"提示信息")
//setMessage可以加上囄Q加入的办法是setMessage("提示信息",IMessageProvider.WARNING);如果惛_入其他的囄Q调用相应的帔R?/span>

source下蝲:http://www.aygfsteel.com/Files/dreamstone/jface-dialog.rar


dreamstone 2007-08-09 17:42 发表评论
]]>
Swt/Jface中提供的dialoghttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134536.htmldreamstonedreamstoneThu, 09 Aug 2007 01:39:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134536.htmlhttp://www.aygfsteel.com/dreamstone/comments/134536.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/09/134536.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/134536.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134536.html下一文章再l箋如何自定义Dialog
一、MessageDialog
1,MessageDialog的用法很单,只需要一句话.

MessageDialog.openInfomation(shell,title,message);
MessageDialog.openConfirm(shell,title,message);
MessageDialog.openQuestion(shell,title,message);
MessageDialog.openError(shell,title,message);

2Q这四个的不同之处有三点Q?br>                              提示的图标?nbsp;                 昄的按钮?nbsp;                    q回?br>openInfomation       cMi的图?nbsp;                    一个确?nbsp;                            void
openConfirm           问号图标                          定和取?nbsp;                       boolean
openQuestion          问号图标                         是和?nbsp;                                boolean
openError               一个X的图?nbsp;                  定                                     void

最后说一下,MessageDialog的大不能根据内容自动调_对于量提示信息的时候显得大了些?br>3QInputDialog输入的dialog
使用ҎQ?/p>

InputDialog inputDialog = new InputDialog(shell,"标题","提示信息","默认?/span>",null);
if(inputDialog.open() == InputDialog.OK){
    String value 
= dialog.getValue();
}
注意最后一个参数是"验证?Q如果想验证数据可以提供一个验证器Qƈ在这里用。验证其的写法:
public class MyValidator implements IInputValidaor{
    
public String isValid(String newText){
        
float value = 0;
        
try{
            value 
= Float.valueOf(newText).floatValue();
        }
catch(NumberFormatException e){
            
return "错误:误入数?/span>";
        }

        
if(value>0 && value<100){
            
return null;
        }
else{
            
return "错误Q请输入大于0Q小?00的数";
        }

    }

}

然后改写定义语句?br>
InputDialog inputDialog = new InputDialog(shell,"标题","提示信息","默认?/span>",new MyValidator());
二、上边说了MessageDialog不能自动调整大小Q那什么能自动调整大小呢?{案是MessageBox.
同样l承自Dialog.
1,使用ҎQMessageBox的用方法稍微复杂,需??
MessageBox mb = new MessageBox(shell);
mb.setMessage(
"提示信息");
mb.open();
2,MessageBox同样可以控制图标和按钮数
是通过new的时候加入式h实现的,例如
MessageBox mb = new MessageBox(shell,SWT._ICON_QUEST|SWT.YES|SWT.NO);

做过SWT开发的人对q种格式应该不陌生,到处都是?br>
图标的种c:
SWT.ICON_ERROR
SWT.ICON_INFORMATION
SWT.ICON_QUESTION
SWT.ICON_WARNING

按钮的组合:
SWT.OK
SWT.OK|SWT.CANCEL
SWT.YES|SWT.NO
SWT.YES|SWT.NO|SWT.CANCEL
SWT.RETRY|SWT.CANCEL
SWT.ABORT|SWT.RETRY|SWT.IGNORE
仔细看一下就是我们^时经常看到的各种对话框?br>三、颜色选择对话?br>不多_使用Ҏ几乎在swt中遍地都是的用法?br>

ColorDialog dialog = new ColorDialog(shell);
RGB rgb 
= dialog.open();
if(rgb != null){
    Color color 
= new Color(shell.getDisplay(),rgb);
}

注意color使用q后要dispose();
四、字体选择对话?br>有了上边的一些经验其实在有eclipseq种~辑器的帮助下猜着可以写?br>
FontDialog dialog = new FontDialog(shell);
FontData fontData 
= dialog.open();
if (fontDate != null){
    Font font 
= new Font(shell.getDisplay(),fontData);
}

同样在结束后font.dispose();
五、打印对话框Q同上的使用ҎQ同上的需要dispose
PrintDialog dialog = new PrintDialog(shell);
PrintData printData 
= dialog.open();
if (printDate != null){
    Printer printer 
= new Printer(printerData);
}

六、文仉择对话框:同上
1Q实现方?br>
FileDialog dialog = new FileDialog(shell,SWT.OPEN);
dialog.setFilterPath(
"c:\windows");//讄初始路径
String fileName = dialog.open();//q回的全路径(路径+文g?
2Q如果想选择多个文gQ加上SWT.MULTI
FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.MULTI);
String fileName 
= dialog.open();//q回最后一个选择文g的全路径
String[] fileNames = dialog.getFileNames();//q回所有选择的文件名Q不包括路径
String path = dialog.getFilterPath();q回选择的\径,q个和fileNames配合可以得到所有的文g的全路径
3,加入filter
FileDialog dialog = new FileDialog(shell,SWT.OPEN|SWT.NULTI);
dialog.setFilterNames(
new String[]{"可执行文?*.exe),"Excel(*.xls),"所有文?/span>""});
dialog.setFilterExtensions(new String[]{"*.exe","*.xls","*.*"});
//接受Ҏ?中的写法Q不同就是加入了qo器?/span>
4,保存对话?br>保存对话框ƈ不提供保存功能,q个需要自己实玎ͼ它只提供界面Qƈ得到用户选择的目录和输入的文件名
FileDialog dialog = new FileDialog(shell,SWT.SAVE);
String fileName 
= dialog.open();



dreamstone 2007-08-09 09:39 发表评论
]]>
Jface的Hello world引出的问?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/07/134544.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Tue, 07 Aug 2007 01:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/07/134544.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/134544.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/07/134544.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/134544.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/134544.html</trackback:ping><description><![CDATA[     摘要: Jface的hello World|上到处都是Q但单的Hello world能引出很多需要注意的问题.首先大部分网上的jface helloworld如下: import org.eclipse.jface.window.ApplicationWindow;import org.eclipse.swt.SWT;import org.eclipse.swt.grap...  <a href='http://www.aygfsteel.com/dreamstone/archive/2007/08/07/134544.html'>阅读全文</a><img src ="http://www.aygfsteel.com/dreamstone/aggbug/134544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-07 09:10 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/07/134544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Swt/Jface listviewer的实?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/06/134533.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Mon, 06 Aug 2007 06:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/06/134533.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/134533.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/06/134533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/134533.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/134533.html</trackback:ping><description><![CDATA[前边过了TableViewer和TreeViewer再来看ListViewerq单了Q操作步骤一P但更单。这里只l出使用的代?br>一、代码,q个实现不同于前Ҏ分开实现Q都是public 的类Q,q里l出的是内部cȝ实现方式?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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.ArrayList;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.List;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.viewers.IStructuredContentProvider;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.viewers.LabelProvider;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.viewers.ListViewer;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.jface.viewers.Viewer;<br><img src="http://www.aygfsteel.com/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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.graphics.Image;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.eclipse.swt.layout.FillLayout;<br><img src="http://www.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_464_2475_Open_Image onclick="this.style.display='none'; Codehighlighter1_464_2475_Open_Text.style.display='none'; Codehighlighter1_464_2475_Closed_Image.style.display='inline'; Codehighlighter1_464_2475_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_464_2475_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_464_2475_Closed_Text.style.display='none'; Codehighlighter1_464_2475_Open_Image.style.display='inline'; Codehighlighter1_464_2475_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> TestListViewer </span><span id=Codehighlighter1_464_2475_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_464_2475_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_521_700_Open_Image onclick="this.style.display='none'; Codehighlighter1_521_700_Open_Text.style.display='none'; Codehighlighter1_521_700_Closed_Image.style.display='inline'; Codehighlighter1_521_700_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_521_700_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_521_700_Closed_Text.style.display='none'; Codehighlighter1_521_700_Open_Image.style.display='inline'; Codehighlighter1_521_700_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ListLabelProvider </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> LabelProvider </span><span id=Codehighlighter1_521_700_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_521_700_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_563_635_Open_Image onclick="this.style.display='none'; Codehighlighter1_563_635_Open_Text.style.display='none'; Codehighlighter1_563_635_Closed_Image.style.display='inline'; Codehighlighter1_563_635_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_563_635_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_563_635_Closed_Text.style.display='none'; Codehighlighter1_563_635_Open_Image.style.display='inline'; Codehighlighter1_563_635_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getText(Object element) </span><span id=Codehighlighter1_563_635_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_563_635_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            Country country </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (Country)element;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> country.getName();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_677_697_Open_Image onclick="this.style.display='none'; Codehighlighter1_677_697_Open_Text.style.display='none'; Codehighlighter1_677_697_Closed_Image.style.display='inline'; Codehighlighter1_677_697_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_677_697_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_677_697_Closed_Text.style.display='none'; Codehighlighter1_677_697_Open_Image.style.display='inline'; Codehighlighter1_677_697_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Image getImage(Object element) </span><span id=Codehighlighter1_677_697_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_677_697_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/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.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_770_1072_Open_Image onclick="this.style.display='none'; Codehighlighter1_770_1072_Open_Text.style.display='none'; Codehighlighter1_770_1072_Closed_Image.style.display='inline'; Codehighlighter1_770_1072_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_770_1072_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_770_1072_Closed_Text.style.display='none'; Codehighlighter1_770_1072_Open_Image.style.display='inline'; Codehighlighter1_770_1072_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ContentProvider </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> IStructuredContentProvider </span><span id=Codehighlighter1_770_1072_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_770_1072_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_823_957_Open_Image onclick="this.style.display='none'; Codehighlighter1_823_957_Open_Text.style.display='none'; Codehighlighter1_823_957_Closed_Image.style.display='inline'; Codehighlighter1_823_957_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_823_957_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_823_957_Closed_Text.style.display='none'; Codehighlighter1_823_957_Open_Image.style.display='inline'; Codehighlighter1_823_957_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Object[] getElements(Object inputElement) </span><span id=Codehighlighter1_823_957_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_823_957_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_860_928_Open_Image onclick="this.style.display='none'; Codehighlighter1_860_928_Open_Text.style.display='none'; Codehighlighter1_860_928_Closed_Image.style.display='inline'; Codehighlighter1_860_928_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_860_928_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_860_928_Closed_Text.style.display='none'; Codehighlighter1_860_928_Open_Image.style.display='inline'; Codehighlighter1_860_928_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(inputElement </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> List)</span><span id=Codehighlighter1_860_928_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_860_928_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                List list </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (List)inputElement;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> list.toArray();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>            }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/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"> Object[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_983_987_Open_Image onclick="this.style.display='none'; Codehighlighter1_983_987_Open_Text.style.display='none'; Codehighlighter1_983_987_Closed_Image.style.display='inline'; Codehighlighter1_983_987_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_983_987_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_983_987_Closed_Text.style.display='none'; Codehighlighter1_983_987_Open_Image.style.display='inline'; Codehighlighter1_983_987_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> dispose() </span><span id=Codehighlighter1_983_987_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_983_987_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1065_1069_Open_Image onclick="this.style.display='none'; Codehighlighter1_1065_1069_Open_Text.style.display='none'; Codehighlighter1_1065_1069_Closed_Image.style.display='inline'; Codehighlighter1_1065_1069_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1065_1069_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1065_1069_Closed_Text.style.display='none'; Codehighlighter1_1065_1069_Open_Image.style.display='inline'; Codehighlighter1_1065_1069_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> inputChanged(Viewer viewer, Object oldInput, Object newInput) </span><span id=Codehighlighter1_1065_1069_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1065_1069_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1096_1504_Open_Image onclick="this.style.display='none'; Codehighlighter1_1096_1504_Open_Text.style.display='none'; Codehighlighter1_1096_1504_Closed_Image.style.display='inline'; Codehighlighter1_1096_1504_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1096_1504_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1096_1504_Closed_Text.style.display='none'; Codehighlighter1_1096_1504_Open_Image.style.display='inline'; Codehighlighter1_1096_1504_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Country </span><span id=Codehighlighter1_1096_1504_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1096_1504_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> String name;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1140_1144_Open_Image onclick="this.style.display='none'; Codehighlighter1_1140_1144_Open_Text.style.display='none'; Codehighlighter1_1140_1144_Closed_Image.style.display='inline'; Codehighlighter1_1140_1144_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1140_1144_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1140_1144_Closed_Text.style.display='none'; Codehighlighter1_1140_1144_Open_Image.style.display='inline'; Codehighlighter1_1140_1144_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Country()</span><span id=Codehighlighter1_1140_1144_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1140_1144_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1175_1200_Open_Image onclick="this.style.display='none'; Codehighlighter1_1175_1200_Open_Text.style.display='none'; Codehighlighter1_1175_1200_Closed_Image.style.display='inline'; Codehighlighter1_1175_1200_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1175_1200_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1175_1200_Closed_Text.style.display='none'; Codehighlighter1_1175_1200_Open_Image.style.display='inline'; Codehighlighter1_1175_1200_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Country(String name)</span><span id=Codehighlighter1_1175_1200_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1175_1200_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> name;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1228_1248_Open_Image onclick="this.style.display='none'; Codehighlighter1_1228_1248_Open_Text.style.display='none'; Codehighlighter1_1228_1248_Closed_Image.style.display='inline'; Codehighlighter1_1228_1248_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1228_1248_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1228_1248_Closed_Text.style.display='none'; Codehighlighter1_1228_1248_Open_Image.style.display='inline'; Codehighlighter1_1228_1248_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getName() </span><span id=Codehighlighter1_1228_1248_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1228_1248_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> name;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1286_1311_Open_Image onclick="this.style.display='none'; Codehighlighter1_1286_1311_Open_Text.style.display='none'; Codehighlighter1_1286_1311_Closed_Image.style.display='inline'; Codehighlighter1_1286_1311_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1286_1311_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1286_1311_Closed_Text.style.display='none'; Codehighlighter1_1286_1311_Open_Image.style.display='inline'; Codehighlighter1_1286_1311_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> setName(String name) </span><span id=Codehighlighter1_1286_1311_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1286_1311_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> name;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1350_1498_Open_Image onclick="this.style.display='none'; Codehighlighter1_1350_1498_Open_Text.style.display='none'; Codehighlighter1_1350_1498_Closed_Image.style.display='inline'; Codehighlighter1_1350_1498_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1350_1498_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1350_1498_Closed_Text.style.display='none'; Codehighlighter1_1350_1498_Open_Image.style.display='inline'; Codehighlighter1_1350_1498_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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"> List getCountryList()</span><span id=Codehighlighter1_1350_1498_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1350_1498_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            List list </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            list.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Country(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">中国</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            list.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Country(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">国</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            list.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Country(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">日本</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> list;<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> org.eclipse.swt.widgets.List list;<br><img id=Codehighlighter1_1558_1608_Open_Image onclick="this.style.display='none'; Codehighlighter1_1558_1608_Open_Text.style.display='none'; Codehighlighter1_1558_1608_Closed_Image.style.display='inline'; Codehighlighter1_1558_1608_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1558_1608_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1558_1608_Closed_Text.style.display='none'; Codehighlighter1_1558_1608_Open_Image.style.display='inline'; Codehighlighter1_1558_1608_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_1558_1608_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_1558_1608_Open_Text><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * Launch the application<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>     * </span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000"> args<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>     </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1650_2472_Open_Image onclick="this.style.display='none'; Codehighlighter1_1650_2472_Open_Text.style.display='none'; Codehighlighter1_1650_2472_Closed_Image.style.display='inline'; Codehighlighter1_1650_2472_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1650_2472_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1650_2472_Closed_Text.style.display='none'; Codehighlighter1_1650_2472_Open_Image.style.display='inline'; Codehighlighter1_1650_2472_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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_1650_2472_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_1650_2472_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/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"> Display.getDefault();<br><img src="http://www.aygfsteel.com/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();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setSize(</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">375</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">SWT Application</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #008000">//<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.open();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> ListViewer listViewer </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ListViewer(shell, SWT.BORDER);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setLabelProvider(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ListLabelProvider());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setContentProvider(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ContentProvider());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setInput(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Object());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        list </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> listViewer.getList();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        list.setBounds(</span><span style="COLOR: #000000">122</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">63</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">);<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        <br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setContentProvider(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ContentProvider());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setLabelProvider(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ListLabelProvider());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        listViewer.setInput(Country.getCountryList());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">可以直接d</span><span style="COLOR: #008000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">        listViewer.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Country(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">英国</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.setLayout(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> FillLayout());<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>        shell.layout();<br><img id=Codehighlighter1_2409_2469_Open_Image onclick="this.style.display='none'; Codehighlighter1_2409_2469_Open_Text.style.display='none'; Codehighlighter1_2409_2469_Closed_Image.style.display='inline'; Codehighlighter1_2409_2469_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2409_2469_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2409_2469_Closed_Text.style.display='none'; Codehighlighter1_2409_2469_Open_Image.style.display='inline'; Codehighlighter1_2409_2469_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/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_2409_2469_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.aygfsteel.com/Images/dot.gif"></span><span id=Codehighlighter1_2409_2469_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.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())<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top>                display.sleep();<br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br>二、注意代码的注释部分Q可以直接添加和U除? <img src ="http://www.aygfsteel.com/dreamstone/aggbug/134533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-06 14:26 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/06/134533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Swt/Jface treeViewer的?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134512.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Sun, 05 Aug 2007 07:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134512.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/134512.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134512.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/134512.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/134512.html</trackback:ping><description><![CDATA[     摘要: 上边介绍了,tableviewerQ这里介l一下treeViewerQȝ程cM。一、构造一个树形结构的数据出来Q这里选择国家、城市、h来构造一个树形结构,代码如下:1Q定义一个接?package model;import java.util.List;public interface Itree {   &nb...  <a href='http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134512.html'>阅读全文</a><img src ="http://www.aygfsteel.com/dreamstone/aggbug/134512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-05 15:20 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Swt/Jface tableviewer入门教程?加入filter ,改变行的颜色)http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134499.htmldreamstonedreamstoneSun, 05 Aug 2007 05:33:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134499.htmlhttp://www.aygfsteel.com/dreamstone/comments/134499.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134499.html#Feedback1http://www.aygfsteel.com/dreamstone/comments/commentRss/134499.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134499.html如果我们x据某一列来qo记录Q如何实现呢Q很单,定义一个过滤器filter。这里只演示定义一个过滤器的情c?br>现实中你可以定义多个灉|的过滤器Q通过替换qo器来实现各种各样的过滤?br>一、过滤器代码Q?br>

import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;

public class MyFilter extends ViewerFilter {
    
public boolean select(Viewer viewer, Object parentElement, Object element) {
        People p 
= (People) element;
        
return p.getName().startsWith("?");
    }

}
然后在testTableViewer的shell.open前加入这个过滤器
tableViewer.addFilter(new MyFilter());
好了Q看一下效?br>二、如果我们想凸显某一条记录,x变一下它的颜Ԍ如果实现呢,单,只要几句话就可以了?br>
Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
table.getItems()[table.getItemCount()
-1].setBackground(color);
table.redraw();

三、这里提一下,使用tabeViewer.setUseHashlookup(true)可以在tableviewer内部为数据记录和tableItem之间的映创Z个hash表,q样可以加快tableItem的和记录间的查找速度Q注意,q条语句必须在setInput之前加入才有效?br>好了Q到此tableviewer的基本的东西介绍的差不多?
source下蝲Q?a href="http://www.aygfsteel.com/Files/dreamstone/jface-4.rar">http://www.aygfsteel.com/Files/dreamstone/jface-4.rar
四:在现实的开发中Q我们更多的是喜Ƣ把一些简单的cȝ匿名cL者内部类的方式来实现。像之前例子中每个都单独一个类的情况ƈ不多?br>下边是和前边的source效果{同的sourceQ不q是使用了匿名类和内部类?br>http://www.aygfsteel.com/Files/dreamstone/jface-5.rar


dreamstone 2007-08-05 13:33 发表评论
]]>
Swt/Jface tableViewer入门教程?加入在表g直接~辑数据)http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134498.htmldreamstonedreamstoneSun, 05 Aug 2007 05:21:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134498.htmlhttp://www.aygfsteel.com/dreamstone/comments/134498.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134498.html#Feedback4http://www.aygfsteel.com/dreamstone/comments/commentRss/134498.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134498.html阅读全文

dreamstone 2007-08-05 13:21 发表评论
]]>
Swt/Jface tableViewer入门教程二(让TableViewer按照列排?http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134496.htmldreamstonedreamstoneSun, 05 Aug 2007 05:05:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134496.htmlhttp://www.aygfsteel.com/dreamstone/comments/134496.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134496.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/134496.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134496.html阅读全文

dreamstone 2007-08-05 13:05 发表评论
]]>
Swt/Jface tableViewer入门教程一(昄tableViewer)http://www.aygfsteel.com/dreamstone/archive/2007/08/05/134495.htmldreamstonedreamstoneSun, 05 Aug 2007 04:48:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134495.htmlhttp://www.aygfsteel.com/dreamstone/comments/134495.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/05/134495.html#Feedback4http://www.aygfsteel.com/dreamstone/comments/commentRss/134495.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/134495.html阅读全文

dreamstone 2007-08-05 12:48 发表评论
]]>
swt入门 --常用lg的?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/134074.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Thu, 02 Aug 2007 09:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/134074.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/134074.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/134074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/134074.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/134074.html</trackback:ping><description><![CDATA[     摘要: swt的常用组件button ,text ,combo,list ,q有一些容器类composite ,groupQ这里选择几个Q列写简单的用法不写解释了,因ؓ代码很简单,而且代码上的注释以说明.1,combo  和text package com.test;import org.eclipse.swt.SWT;import org.eclipse.sw...  <a href='http://www.aygfsteel.com/dreamstone/archive/2007/08/02/134074.html'>阅读全文</a><img src ="http://www.aygfsteel.com/dreamstone/aggbug/134074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-02 17:53 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/02/134074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习gef-whole-upload初期易犯的两个错?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/133955.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Thu, 02 Aug 2007 03:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/133955.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/133955.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/08/02/133955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/133955.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/133955.html</trackback:ping><description><![CDATA[<p>按照gef-whole-upload来学习,q程中会遇到q么几个错误:<br>错误一Q?br>java.lang.RuntimeException: Application "gef.tutroial.step.application" could not be found in the registry. The applications available are: <NONE>.<br>解决ҎQ?br>核对plugin.xml中的W一D中的\径,名字是否都是正确的。是否都对应自己的包?br> <extension<br>         id="Application"<br>         point="org.eclipse.core.runtime.applications"><br>      <application><br>         <run<br>               class="gef.tutorial.step.rcp.Application"><br>         </run><br>      </application><br>   </extension><br>如果因ؓ错误包名更改后还是报q个错误。关掉eclipse重新启动</p> <p>错误二:<br>按照教程的操作,l果出现错误<br>org.eclipse.ui.PartInitException: Unable to open editor, unknown editor ID:<br>查你的plugin.xml中的q一D?br><extension<br>         point="org.eclipse.ui.editors"><br>      <editor<br>            class="gef.tutorial.step.ui.DiagramEditor"<br>            default="false"<br>            icon="icons/alt_about.gif"<br>            id="gef.tutorial.step.ui.DiagramEditor"<br>            name="Diagram Editor"/><br>   </extension><br>   是否有icon=""Q我开始以为没有icon没什么所以没配置Q结果一直出错,配上好了。感觉这个做的真<br>  让h郁闷Q还必须有icon</p> <img src ="http://www.aygfsteel.com/dreamstone/aggbug/133955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-08-02 11:18 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/08/02/133955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>gef-whole-upload 代码 (更全的部?http://www.aygfsteel.com/dreamstone/archive/2007/08/02/133952.htmldreamstonedreamstoneThu, 02 Aug 2007 03:11:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/08/02/133952.htmlhttp://www.aygfsteel.com/dreamstone/comments/133952.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/08/02/133952.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/133952.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/133952.html另外|上看到q一个sourceQ那个到划线部分没有了Q我q个基本是全文的?br>另外说明一下:因ؓ版本的原因,部分功能可能用不了,原教E是针对eclipse的低版本的。但主要功能是可以的。我是在eclipse 3.2.2上开发的。正在考虑如何把对应eclipse3.3如果有结果同样会l箋发出来?br>source下蝲地址Q?a href="http://www.aygfsteel.com/Files/dreamstone/gef.tutorial.step.rar">http://www.aygfsteel.com/Files/dreamstone/gef.tutorial.step.rar

dreamstone 2007-08-02 11:11 发表评论
]]>
eclipse3.3的一些新的特?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/07/27/132865.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Fri, 27 Jul 2007 10:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/07/27/132865.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/132865.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/07/27/132865.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/132865.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/132865.html</trackback:ping><description><![CDATA[eclipse3.3相对3.2有很大改动,不过以一个用者的w䆾|列一些新的特性?br>1,ctrl + shift+ o 在代码中有错误的时候也能执行了<br>2,昄个数   昄tab数变多了<br>3,最大最化效果好了Q而且多了直接能点开一些窗口的按钮。注意边?br>4,执行速度变快了,启动速度Q关闭速度都快了很?br>5,导入工程的时候选定一个文件夹Q自动寻扑֭文g夹中的所有工E,q且qo掉已l导入的工程?br>6,新徏工程的时候自动徏处src和binQ虽?.2的时候也可以自己手动配置实现Q但3.3旉认实玎ͼ更h性化一<br>些?br>7,据说占用内存了<br>用了一天看到就q些Q欢q补? <img src ="http://www.aygfsteel.com/dreamstone/aggbug/132865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-07-27 18:08 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/07/27/132865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse rcp 开发实?(源码下蝲)http://www.aygfsteel.com/dreamstone/archive/2007/05/18/118399.htmldreamstonedreamstoneFri, 18 May 2007 08:05:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/05/18/118399.htmlhttp://www.aygfsteel.com/dreamstone/comments/118399.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/05/18/118399.html#Feedback37http://www.aygfsteel.com/dreamstone/comments/commentRss/118399.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/118399.html当时x一个可以用来学习的单的源代码真难,有的都是复杂的?br>q里提供一个简单的工程。设计初学者接触的各种问题。有旉一件事情用了两种方式来实现?br>使用了treeview  ,tableview 
tableview的排?br>加入了javamail
使用了jobs后台q程
加入了log4j
国际?br>讄了部|工E?br>右键、菜单、双ȝ事g
source下蝲


dreamstone 2007-05-18 16:05 发表评论
]]>
学习eclipse插g开发资源全攉(plugin)http://www.aygfsteel.com/dreamstone/archive/2007/05/08/116016.htmldreamstonedreamstoneTue, 08 May 2007 10:07:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2007/05/08/116016.htmlhttp://www.aygfsteel.com/dreamstone/comments/116016.htmlhttp://www.aygfsteel.com/dreamstone/archive/2007/05/08/116016.html#Feedback3http://www.aygfsteel.com/dreamstone/comments/commentRss/116016.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/116016.html阅读全文

dreamstone 2007-05-08 18:07 发表评论
]]>
通过Eclipse插gBytecode Outline方便了解Java字节?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/02/22/100358.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Thu, 22 Feb 2007 10:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/02/22/100358.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/100358.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/02/22/100358.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/100358.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/100358.html</trackback:ping><description><![CDATA[     摘要: Eclipse, ~译, 反编? 字节? 插g ,Bytecode Outline,asm  <a href='http://www.aygfsteel.com/dreamstone/archive/2007/02/22/100358.html'>阅读全文</a><img src ="http://www.aygfsteel.com/dreamstone/aggbug/100358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-02-22 18:44 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/02/22/100358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse中最常用的热?/title><link>http://www.aygfsteel.com/dreamstone/archive/2007/02/08/98706.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Thu, 08 Feb 2007 03:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2007/02/08/98706.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/98706.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2007/02/08/98706.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/98706.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/98706.html</trackback:ping><description><![CDATA[<p>Eclipse中最常用的热?</p> <p>1,Ctrl+D     删除选中的几?br>2,Alt+上下头    Ud选中的代码块<br>3,Alt+左右头   回退 前进<br>4,Alt+Shift+上下头   复制选中的代码块<br>5,sysout+Ctrl space     生成System.out.println();<br>6,main + Ctrl space     生成最单的main函数<br>7,Ctrl+Shift+X   切换成大?br>8,Ctrl+Shift+Y   切换成小?br>9,Ctrl+Z    取消undo<br>10,Ctrl+Y    redo<br>11,Ctrl+S    保存<br>12,Tab     块羃q?br>13,Shift+Tab   反向块羃q?br>14,Ctrl+Shif+F   格式化代?br>15,Ctrl+O    昄成员Ҏ ,成员对象<br>16,Ctrl+Shift+I   调试的时候显C对象的?br>17,Ctrl+M    全屏<br>18,Ctrl+N    新徏<br>19,Ctrl+L    q入到第N?br>20,Ctrl+/    注释打开代码<br>21,Ctrl+Shift+/   块注?br>22,Ctrl+Shift+\   块注释取?br>23,Ctrl+1    U正代码<br>24,F3     昄l承?br>25,Ctrl+F    查找替换<br>26,Ctrl+H    更大范围的查找替?br>27,F5     Step into<br>28,F6     Step over<br>29,F7     Step return<br>30,F8     resume</p> <img src ="http://www.aygfsteel.com/dreamstone/aggbug/98706.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2007-02-08 11:41 <a href="http://www.aygfsteel.com/dreamstone/archive/2007/02/08/98706.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Rcp pd?中更改状态条的信?/title><link>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79623.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Tue, 07 Nov 2006 07:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79623.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/79623.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79623.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/79623.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/79623.html</trackback:ping><description><![CDATA[Eclipse Rcp中更改状态条的信?br>private void showStatusMessage(String msg) {<br>  WorkbenchWindow workbenchWindow = (WorkbenchWindow) PlatformUI<br>    .getWorkbench().getActiveWorkbenchWindow();<br>   workbenchWindow.setStatus(msg);<br> } <img src ="http://www.aygfsteel.com/dreamstone/aggbug/79623.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2006-11-07 15:35 <a href="http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79623.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Rcppd ?多线E?/title><link>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79621.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Tue, 07 Nov 2006 07:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79621.html</guid><wfw:comment>http://www.aygfsteel.com/dreamstone/comments/79621.html</wfw:comment><comments>http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79621.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/dreamstone/comments/commentRss/79621.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/dreamstone/services/trackbacks/79621.html</trackback:ping><description><![CDATA[Eclipse中多U程的实玎ͼcMq样<br>Job job = new Job("job1") {<br> protected IStatus run(IProgressMonitor monitor) {<br>  //-----你自定义的东?br>  Job1 job1 = new Job1();<br>  job1.run();<br>  //-----------------<br>  return Status.OK_STATUS;<br> }<br>};<br>job.setPriority(Job.SHORT);<br>job.schedule();  //start as soon as possible <img src ="http://www.aygfsteel.com/dreamstone/aggbug/79621.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/dreamstone/" target="_blank">dreamstone</a> 2006-11-07 15:32 <a href="http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79621.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Rcppd ? TreeViewhttp://www.aygfsteel.com/dreamstone/archive/2006/11/07/79619.htmldreamstonedreamstoneTue, 07 Nov 2006 07:23:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/07/79619.htmlhttp://www.aygfsteel.com/dreamstone/comments/79619.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/07/79619.html#Feedback1http://www.aygfsteel.com/dreamstone/comments/commentRss/79619.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79619.htmltreeView的用和TableView差不多,不同的是ContentProvider和LabelProvider的实现接口不同了。下Ҏ个例子,看一下相信你,明白?br> class KindLabelProvider extends LabelProvider {
  public String getText(Object obj) {
   if (obj instanceof Kind) {
    return obj.toString();
   }
   return null;
  }

  public Image getImage(Object obj) {
   // String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
   if (obj instanceof Kind) {
    String imageKey = ISharedImages.IMG_OBJ_FOLDER;
    PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
   }
   return null;
  }
 }

 class KindContentProvider implements IStructuredContentProvider,
   ITreeContentProvider {

  public Object[] getElements(Object parent) {
   if(parent instanceof Kind){
    return getChildren(parent);
   }
   return null;
  }

  public Object getParent(Object child) {
   if (child instanceof Node) {
    return ((Node) child).getParent();
   }
   return null;
  }

  public Object[] getChildren(Object parent) {
   if (parent instanceof Kind) {
    ArrayList children = ((Kind) parent).getChildren();
    
    return children.toArray(new Node[children.size()]);
    
   }
   return new Object[0];
  }

  public boolean hasChildren(Object parent) {
   if (parent instanceof Kind)
    return ((Kind) parent).hasChildren();
   return false;
  }

  public void dispose() {
   // TODO Auto-generated method stub

  }

  public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
   // TODO Auto-generated method stub

  }
 }



dreamstone 2006-11-07 15:23 发表评论
]]>
Eclipse Rcppd 5 开发过E中遇到的小问题合集http://www.aygfsteel.com/dreamstone/archive/2006/11/07/79618.htmldreamstonedreamstoneTue, 07 Nov 2006 07:20:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/07/79618.htmlhttp://www.aygfsteel.com/dreamstone/comments/79618.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/07/79618.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/79618.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79618.html1Q用第三方控gQ在Rcp开发中使用W三Ҏ?lib)的方式和一般的开发不太一P方式如下链接
http://www.javazy.com/contentex/200644225825.shtml
2Q用属性文ӞҎ属性文件的dQ也E有不同Q用方法(转自http://blog.csdn.net/explorering/archive/2006/10/11/1330709.aspxQ?br>
1。用java.util.Propertiescȝload()Ҏ 
CZQ?nbsp;
InputStream in = lnew BufferedInputStream(new FileInputStream(name)); 
Properties p = new Properties(); 
p.load(in); 

2。用java.util.ResourceBundlecȝgetBundle()Ҏ 
CZQ?br>ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); 

3。用java.util.PropertyResourceBundlecȝ构造函?nbsp;
CZQ?nbsp;
InputStream in = new BufferedInputStream(new FileInputStream(name)); 
ResourceBundle rb = new PropertyResourceBundle(in); 

4。用class变量的getResourceAsStream()Ҏ 
CZQ?nbsp;
InputStream in = JProperties.class.getResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 

5。用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()Ҏ 
CZQ?nbsp;
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 

6。用java.lang.ClassLoadercȝgetSystemResourceAsStream()静态方?nbsp;
CZQ?nbsp;
InputStream in = ClassLoader.getSystemResourceAsStream(name); 
Properties p = new Properties(); 
p.load(in); 

补充 

Servlet中可以用javax.servlet.ServletContext的getResourceAsStream()Ҏ 
CZQ?br>InputStream in = context.getResourceAsStream(path); 
Properties p = new Properties(); 
p.load(in); 

3Q国际化Q在国际化界面的同时Q记得国际化plug-inQ国际话的方?不同于程序中的Message.getString()ҎQ是使用?,q样
 <view
            class="com.niis.myprice.views.KindView"
            id="com.niis.myprice.views.KindView"
            name="%plugin.kindmanager"/>
然後对应各种语言建立一个plugin.propertiesQ记着发布的时候不要忘记加入这些配制文件?br>


dreamstone 2006-11-07 15:20 发表评论
]]>
Eclipse Rcppd ? 弹出提示H口http://www.aygfsteel.com/dreamstone/archive/2006/11/06/79400.htmldreamstonedreamstoneMon, 06 Nov 2006 06:43:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79400.htmlhttp://www.aygfsteel.com/dreamstone/comments/79400.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79400.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/79400.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79400.htmlMessageDialog
只有一个确?br>MessageDialog.openInformation(shell, "title", "message");
有是/?br>MessageDialog.openConfirm(shell, "title","message");
有是/?取消
MessageDialog dialog = new MessageDialog(shell, "title", null, "message",
  MessageDialog.QUESTION, new String[] {IDialogConstants.YES_LABEL,
  IDialogConstants.NO_LABEL,IDialogConstants.CANCEL_LABEL }, 0);
dialog.open();
q可以加入更多的选择,只需要在数组中加入更多的内容
那如何取得点M哪个按钮呢,两种Ҏ
直接int result = dialog.open();
或者int result = dialog.getReturnCode();
q回的result的值就是被选中按钮在数l中的index


dreamstone 2006-11-06 14:43 发表评论
]]>
Eclipse Rcppd? q一步了解Viewerhttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79398.htmldreamstonedreamstoneMon, 06 Nov 2006 06:32:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79398.htmlhttp://www.aygfsteel.com/dreamstone/comments/79398.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79398.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/79398.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79398.html好在二的基础上,l箋Q这个时候我们须要增加一个Viewer.在这里我要说一下,在eclipse的开发中用到的很?br>的是Viewer(视图)q个概念Q而不像Vb{开发中l常用到的window(H口)Qƈ不是说Rcp中没有窗口,而是使用
频率较低Q所以分别说一下如何添加窗口和Viewer

一Q添加一个对话框H口Q添加一个类如下Q然後在要显视的地方调用一下open()Ҏ
不一定非要承自Dialog,q里Z渐少一些代?而且我用中也多l承自Dialog
package hellorcp;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HelloDialog extends Dialog {

 protected Object result;

 protected Shell shell;

 public HelloDialog(Shell parent, int style) {
  super(parent, style);
 }

 public HelloDialog(Shell parent) {
  this(parent, SWT.NONE);
 }
 public Object open() {
  createContents();
  shell.open();
  shell.layout();
  Display display = getParent().getDisplay();
  while (!shell.isDisposed()) {
   if (!display.readAndDispatch())
    display.sleep();
  }
  return result;
 }

 protected void createContents() {
  shell = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
  shell.setSize(500, 375);
  shell.setText("SWT Dialog");
  //
 }

}

二,d一个viewerQ首先徏立一个viewer,下边是DesignerQ一个很好用的插Ӟ自动生成的一个viewerQ?br>也就是一个Viewer的大概结?br>package hellorcp;

import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public class HelloView extends ViewPart {

 public static final String ID = "hellorcp.HelloView"; //$NON-NLS-1$

 public void createPartControl(Composite parent) {
  Composite container = new Composite(parent, SWT.NONE);
  //
  createActions();
  initializeToolBar();
  initializeMenu();
 }

 private void createActions() {
  // Create the actions
 }
 private void initializeToolBar() {
  IToolBarManager toolbarManager = getViewSite().getActionBars()
    .getToolBarManager();
 }

 private void initializeMenu() {
  IMenuManager menuManager = getViewSite().getActionBars()
    .getMenuManager();
 }

 public void setFocus() {
  // Set the focus
 }

}
显视q个viewer,每个viewer要加蝲到perspective上才能显视,所以在Perspective.java中加入如下代?br>public void createInitialLayout(IPageLayout layout) {
 layout.setEditorAreaVisible(false);//不显视editH口
 String editorArea = layout.getEditorArea();
 //下边两句的不同是Q一个显视的是单늪口,一个显视的是多늪?br> layout.addStandaloneView(HelloViewer.ID,false, IPageLayout.LEFT, 0.25f, editorArea);
 layout.addView(HelloViewer.ID, IPageLayout.RIGHT, 0.75f, editorArea);
?/p>

三,在viewer或者dialog上添加控Ӟ如果装有Designer可以直接拖放Q如果没有编E实C可以
大部份添加到下边q样的函C
viewer:
public void createPartControl(Composite parent) {
  Composite container = new Composite(parent, SWT.NONE);
  //d一个button
  final Button delBtn = new Button(container, SWT.NONE);
  delBtn.setText("删除");
  delBtn.setBounds(10, 83, 44, 22);
  addListener2DelBtn(delBtn);
  
  createActions();
  initializeToolBar();
  initializeMenu();
}
dialog:
protected void createContents() {
  shell = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
  shell.setSize(500, 375);
  shell.setText("SWT Dialog");

四,响应事g,SWT的事件响应和Swing是一LQ添加listener
delBtn.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    //加入你响应事件要做的事情
   }
});

五,布局
布局斚wswt没有什么新的地方,发个单用布局的例子,参考吧.另外布局q有很多搭配Q但不是本文?br>重点Q暂时带q?br>import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

public class TableDemo {

  /**
  * @param args
  */
  public static void main(String[] args) {
    Display   dispMain = new Display ();
   
    final Shell shellMain = new Shell (dispMain, SWT.TITLE | SWT.MIN | SWT.BORDER);
       
    shellMain.setText("Table Demo");
   
    FormLayout formLayout = new FormLayout();
    formLayout.marginLeft = 10;
    formLayout.marginRight = 10;
    formLayout.marginTop = 10;
    formLayout.marginBottom = 10;
    formLayout.spacing = 10;
    shellMain.setLayout(formLayout);

    shellMain.setSize(800, 600);
    Point size = shellMain.getSize();
    Rectangle rect = dispMain.getBounds();
    shellMain.setLocation(rect.x + (rect.width-size.x)/2, rect.y + (rect.height-size.y)/2);

    Table demoTable = (Table)createContents(shellMain);    
    FormData formData = new FormData();
    formData.left = new FormAttachment(0, 0);
    formData.top = new FormAttachment(0, 0);
    formData.right = new FormAttachment(100, 0);
    formData.bottom = new FormAttachment(100, -34);
    demoTable.setLayoutData(formData);

    Button btnClose = new Button(shellMain, SWT.PUSH | SWT.FLAT);
    btnClose.setText("close");
   
    formData = new FormData();
    formData.right = new FormAttachment(100, 0);
    formData.top = new FormAttachment(demoTable, 0);
    formData.width = 100;
    formData.bottom = new FormAttachment(100, 0);
    btnClose.setLayoutData(formData);
   
    btnClose.addSelectionListener(
        new SelectionListener() {
          public void widgetDefaultSelected(SelectionEvent e) {
            this.widgetSelected(e);
          }
         
          public void widgetSelected(SelectionEvent e) {
            shellMain.close();
          }
        }
    );
    shellMain.open ();
   
    while (!shellMain.isDisposed ()) {
        if (!dispMain.readAndDispatch ()) {
          dispMain.sleep ();
        }
    }
    dispMain.dispose ();
    dispMain = null;
  }

  /**
  *
  * @param shellMain
  * @return
  */
  private static Table createContents(Shell shellMain) {
    Table table = new Table(shellMain, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setFont(new Font(shellMain.getDisplay(), "Arial", 11, SWT.BOLD));
   
    TableColumn colNumber = new TableColumn(table, SWT.NONE);
    TableColumn colMedName = new TableColumn(table, SWT.CENTER);
    TableColumn colPrice = new TableColumn(table, SWT.CENTER);
    TableColumn colUnit = new TableColumn(table, SWT.CENTER);
    TableColumn colCount = new TableColumn(table, SWT.CENTER);
   
    colNumber.setWidth(25);
   
    colMedName.setWidth(150);
    colMedName.setText("Medicine Name");
   
    colPrice.setWidth(150);
    colPrice.setText("Medicine Price");
   
    colUnit.setWidth(150);
    colUnit.setText("Medicine Unit");
   
    colCount.setWidth(150);
    colCount.setText("Medicine Count");
   
    for(int i=0; i<10; i++) {
        TableItem item = new TableItem(table, SWT.NONE);
        item.setText(new String[]{i+1+"","4/2","4/3","4/4","4/5","4/6","4/7","4/8","4/9"});
    }
    return table;
  }
}
五,加入 右键 Q双?br>加入两个listener
//右键
private void hookContextMenu() {
  MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
  menuMgr.setRemoveAllWhenShown(true);
  menuMgr.addMenuListener(new IMenuListener() {
   public void menuAboutToShow(IMenuManager manager) {
    HelloView.this.fillContextMenu(manager);
   }
  });
  Menu menu = menuMgr.createContextMenu(viewer.getControl());
  viewer.getControl().setMenu(menu);
  getSite().registerContextMenu(menuMgr, viewer);
}
private void fillContextMenu(IMenuManager manager) {
  manager.add(addAction);
  manager.add(modifyAction);
  manager.add(deleteAction);
  manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
//双击
private void hookDoubleClickAction() {
  viewer.addDoubleClickListener(new IDoubleClickListener() {
   public void doubleClick(DoubleClickEvent event) {
    //doubleClickAction.run();
   }
  });
}

六,使用TableViewer
Jface中封装了talbeViewer TreeViewer{控Ӟ能简单的实现很多功能Q首先说说TableView
//SWT.FULL_SELECTION 可以选中一整行
//SWT.MULTI 可以选中多行
viewer = new TableViewer(wareListGroup, SWT.BORDER | SWT.FULL_SELECTION
    | SWT.MULTI);
  final Table table = viewer.getTable();
  table.setHeaderVisible(true);//显视表头
  table.setLinesVisible(true);//显视表格
  
  //实现点击表头自动重新排序
  final TableColumn num = new TableColumn(table, SWT.NONE);
  num.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    resetSort(WareViewerSort.NUM);
    //resetSort是自己实现的重新排序的函敎ͼ只须要把不通的ViewerSort重新讄l?br>    TableViewerQƈh
   }
  });
  num.setAlignment(SWT.CENTER);
  num.setWidth(50);
  //q个地方使用了messageQ只要做q国际话的大概都能明?br>  num.setText(Messages.getString("HelloView.warenum")); //$NON-NLS-1$

  final TableColumn name = new TableColumn(table, SWT.NONE);
  name.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    resetSort(WareViewerSort.NAME);//同上
   }
  });
  name.setWidth(80);
  name.setText(Messages.getString("WareView.warename")); //$NON-NLS-1$
  name.setAlignment(SWT.CENTER);
  
  final TableColumn desc = new TableColumn(table, SWT.NONE);
  desc.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    resetSort(WareViewerSort.DESC);
   }
  });
  desc.setWidth(110);
  desc.setText(Messages.getString("WareView.waredesc")); //$NON-NLS-1$

  final TableColumn price = new TableColumn(table, SWT.NONE);
  price.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    resetSort(WareViewerSort.PRICE);
   }
  });
  price.setWidth(70);
  price.setText(Messages.getString("WareView.wareprice")); //$NON-NLS-1$
  price.setAlignment(SWT.RIGHT);

  final TableColumn updDate = new TableColumn(table, SWT.NONE);
  updDate.addSelectionListener(new SelectionAdapter() {
   public void widgetSelected(SelectionEvent e) {
    resetSort(WareViewerSort.UPDDATE);
   }
  });
  updDate.setWidth(150);
  updDate.setText(Messages.getString("WareView.wareupddate")); //$NON-NLS-1$
  updDate.setAlignment(SWT.CENTER);
  //一个TableViewer里边的数据变动主要取决于下边四句
  viewer.setContentProvider(new WareContentProvider()); //表的显视
  viewer.setLabelProvider(new WareLabelProvider());    //表的数据提供?/p>

  viewer.setInput(//真实的数据来?; //数据来源例如ArrayList{?br>  viewer.setSorter(new WareViewerSort()); //排序
  
两个provider的实现类g边的情况  
class WareContentProvider implements IStructuredContentProvider {

  public Object[] getElements(Object inputElement) {
   if (inputElement instanceof Node) {
    ArrayList list = new ArrayList();
    makeWareList(((Node) inputElement), list);
    return list.toArray();
   }
   if (inputElement instanceof List) {
    return ((List) inputElement).toArray();
   }
   return null;
  }

  public void dispose() {
   // TODO Auto-generated method stub

  }

  public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
   // TODO Auto-generated method stub

  }

 }

class WareLabelProvider extends LabelProvider implements
   ITableLabelProvider {

  public Image getColumnImage(Object element, int columnIndex) {
   // TODO Auto-generated method stub
   return null;
  }

  public String getColumnText(Object element, int columnIndex) {
   if (element instanceof Ware) {
    switch (columnIndex) {
    case 0:
     return ((Ware) element).getDisplayNum();
    case 1:
     return ((Ware) element).getDisplayName();
    case 2:
     return ((Ware) element).getDisplayDesc();
    case 3:
     return ((Ware) element).getDisplayPrice();
    case 4:
     return ((Ware) element).getDisplayUpdDate();
    default:
     break;
    }
   }
   return null;
  }

 }
 



dreamstone 2006-11-06 14:32 发表评论
]]>
Eclipse Rcppd ? W一个RcpE序http://www.aygfsteel.com/dreamstone/archive/2006/11/06/79384.htmldreamstonedreamstoneMon, 06 Nov 2006 05:40:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79384.htmlhttp://www.aygfsteel.com/dreamstone/comments/79384.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79384.html#Feedback0http://www.aygfsteel.com/dreamstone/comments/commentRss/79384.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79384.htmlW一?/span> Rcp E序

新徏 ->project->plug-in Development->plug-in project

image001.png

点击 next

 

image003.png

输入工程?/span> HelloRcp à next

 

image005.png

其它采取默认QRich Client Application部分选择 yes

 

image008.png

选择 Hello Rcp à   Finish

 

工程建立完毕Q下辚w择 MANIFEST.MF

image010.png

点击下边?/span> overview q入 overview 视图Q点?/span> Launch an Eclipse application

可以看到运行v来的界面了。就使一个简单的H口?/span>

好,下边如何导出能类?/span> Eclipse 的程?/span>

?/span> HelloRcp 工程上点d?/span> à new à other

image012.png

选择 Product Configuration

 

image014.png

在划UK分填?/span> helloRcp Q?/span> Finish

image018.png

 

在三处分辨填入对应的内容Q然後点?/span> Configuration q入 configuration 视图

add à 选择 HelloRcp

点击 Add Required Plug-ins

然後点击划线部分Q按照向|导出成一?/span> Exe 工程。双击运行一下看看吧?/span>

 

另外导出的这个工E和 eclipse 一P比如语言?/span> -nl 参数Q比?/span> jre 的设|啦 -vm

最大最内存了Q都?/span> eclipse 是一L?/span>

好了Q这个就是一个工E的q程。前两篇文章内容很少Q都是配制方面的Q下边的文章开始真的多一些内容了?/span>

 



dreamstone 2006-11-06 13:40 发表评论
]]>
Eclise Rcp pd一 W一个SWTE序http://www.aygfsteel.com/dreamstone/archive/2006/11/06/79371.htmldreamstonedreamstoneMon, 06 Nov 2006 04:42:00 GMThttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79371.htmlhttp://www.aygfsteel.com/dreamstone/comments/79371.htmlhttp://www.aygfsteel.com/dreamstone/archive/2006/11/06/79371.html#Feedback1http://www.aygfsteel.com/dreamstone/comments/commentRss/79371.htmlhttp://www.aygfsteel.com/dreamstone/services/trackbacks/79371.html写在开始:
׃工作要Q做了一周时间的Rcp开发,发现׃Eclipse开发方面的中文资料较少Q对入门者来说有些困难,
所以把自己一周的内容放上Q共享给开始学习Eclipse开发的?br>Eclipse开发中有很多名词: 插g开?nbsp; ,RCP ,SWT,Jface很容易让p?br>做个大概的比?如果说SWT是C++的话  那么JFace像STL对SWT做了单的装  Rcp像MFC装更多
而插件开发和Rcp唯一不同׃导出不同Q一个导出成plug inQ另一个导出成独立q行的程序。其实没有什么区?/p>

好了Q开始第一个程?从Hello world开始。写到这个地方,再次崇拜一下第一个写Hello world的h?br>真应改给他搬个什么普及教育之cȝ奖项?br>import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;


public class HelloSWT {

 public static void main(String[] args) {
  Display display = new Display();
  Shell shell = new Shell(display);
  Label label = new Label(shell, SWT.CENTER);
  label.setText("Hello, World");
  label.setBounds(shell.getClientArea());
  shell.open();
  while (!shell.isDisposed()){
    if (!display.readAndDispatch()){
     display.sleep();
    }
  }
  display.dispose();
 }
}

首先介绍DisplayQ打安知到Swt是基于操做系l的Q多大部分的控?H口都是调用pȝ的,所以得有一个东?br>负责把java的消息{变成pȝ消息QDisplay是?/p>

Shell可以单理解成是H口

Label是一个标{了?/p>

shell.open()显视H口

while (!shell.isDisposed()){
  if (!display.readAndDispatch()){
   display.sleep();
  }
}
熟悉Windows下编E的人大概都知到QWindows的消息@环机制?/p>

好了试着q行一下这个程序,修改一下,找找感觉吧?/p>

写到q里忽然惌v自己没有写如何配制SWT的开发环境,对于新手来说q个是重要的?br>q里有一文?a >http://dev.yesky.com/409/2620409.shtml
如果链接失效的话google一下吧

说明Q?br>q个pd的文章是Zeclipse 3.2.1的,另外推荐一些学习的资料或者网?br>首先Q?a >http://www.eclipseworld.org/bbs/
然後Q在上边的论坛里Ҏ一些前辈们写的教程Q有些不错值得一?br>最后:当然不可的是ibm的网站和eclipse的官方网?/p>

 

 

 



dreamstone 2006-11-06 12:42 发表评论
]]>
վ֩ģ壺 ũ| »| | | ֶ| Դ| | | ַ| Ȫ| ؼ| | ɽ| | | | | | Ϸ| ƽ| | ʯɽ| ԭ| Դ| ̫| | | | Թ| | ó| ߱| ݳ| | | | IJ| Ƥ| ̨| Ұ| ƽ|