﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-每日E读-随笔分类-Eclipse</title><link>http://www.blogjava.net/hexuzhong/category/1134.html</link><description>HexUzHoNG</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:24:32 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:24:32 GMT</pubDate><ttl>60</ttl><item><title>Eclipse.org主页改版了...</title><link>http://www.blogjava.net/hexuzhong/archive/2005/12/06/22709.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Tue, 06 Dec 2005 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/12/06/22709.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/22709.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/12/06/22709.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/22709.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/22709.html</trackback:ping><description><![CDATA[<P>还记得上次的投票吗? 今天去看时, 已经改版了.. <IMG height=19 src="http://www.blogjava.net/Emoticons/teeth_smile.gif" width=19 border=0><BR><IMG height=362 alt=r_Snap2.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/r_Snap2.jpg" width=640 border=0></P><img src ="http://www.blogjava.net/hexuzhong/aggbug/22709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-12-06 13:50 <a href="http://www.blogjava.net/hexuzhong/archive/2005/12/06/22709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用MyEclipse中xdoclet插件生成hibernate的.hbm.xml文件时要注意 :P</title><link>http://www.blogjava.net/hexuzhong/archive/2005/08/17/10377.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Wed, 17 Aug 2005 13:01:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/08/17/10377.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/10377.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/08/17/10377.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/10377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/10377.html</trackback:ping><description><![CDATA[<P>在用myeclipse4.0M2写struts+spring+hibernate的例子时,其中用到了xdoclet生成.hbm.xml文件,生成xml文件DTD为:<BR>&lt;!DOCTYPE hibernate-mapping PUBLIC<BR>&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 1.1//EN" <BR>&nbsp;&nbsp;&nbsp; "<A href="http://hibernate.sourceforge.net/hibernate-mapping-1.1.dtd">http://hibernate.sourceforge.net/hibernate-mapping-1.1.dtd</A>"&gt;</P>
<P>在tomcat中运行报错:</P>
<P>2005-08-17 20:20:34 StandardContext[/SSH]action: null<BR>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/Hibernate-Context.xml]: Initialization of bean failed; nested exception is net.sf.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net<BR>net.sf.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net<BR>&nbsp;at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:297)<BR>&nbsp;at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:446)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1003)</P>
<P>找了半天发现原来是DTD文件有误,要改为:<BR>&lt;!DOCTYPE hibernate-mapping PUBLIC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 2.0//EN"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<A href="http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd</A>" &gt;</P>
<P>在MyEclipse中想找生成的方法,把xdoclet的版本改为1.2.3,生成文件时,DTD变为:</P>
<P>&lt;!DOCTYPE hibernate-mapping PUBLIC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<A href="http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd</A>" &gt;</P>
<P>晕..... 还没找到解决方法,只能生成后,手工把3.0改为2.0了.</P>
<P>BTW: MyEclipse中帮助文件有个小错误,其中updating xdoclet modules这节中说存放xdoclet lib文件的目录为:&lt;MyEclipseInstall&gt;/eclipse/plugins/org.jboss.ide.eclipse.xdoclet.core_&lt;version&gt; <BR>其实际路径应该为&lt;MyEclipseInstall&gt;/eclipse/plugins/com.genuitec.jboss.ide.eclipse.xdoclet.core_&lt;version&gt;</P>
<P>害得偶找了X分钟才搞定....</P><img src ="http://www.blogjava.net/hexuzhong/aggbug/10377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-08-17 21:01 <a href="http://www.blogjava.net/hexuzhong/archive/2005/08/17/10377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置MyEclipse中XML Editor的DTD分析方式</title><link>http://www.blogjava.net/hexuzhong/archive/2005/08/16/10221.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Tue, 16 Aug 2005 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/08/16/10221.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/10221.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/08/16/10221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/10221.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/10221.html</trackback:ping><description><![CDATA[<!--StartFragment --></TR><TR><TD>大家用Eclipse插件如XMLBuddy,myeclipse的xml editor写xml文件时在没有联网的情况下有没有碰到这种情况,DTD文件分析失败?<BR>如果DTD文件不能正常解析,那Content Assist功能就无效了. 没有Content Assist功能写XML文件非常不爽,还要去记那些语法,有可能输入时还会不小心输错.</TD></TR>&nbsp;<BR><IMG height=87 alt=r_dtd_in_eclipse.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/r_dtd_in_eclipse.JPG" width=563 border=0><BR><BR><!--StartFragment -->&nbsp;<TR><TD>在网上看到过相关文章说修改http://www.springframework.org/dtd/spring-beans.dtd为本地路径file:///可以解决这种问题,在这里还给出另一种解决方法,首先来看看DTD文件解析的方式:</TD> </TR><TR><TD>&nbsp;&nbsp;&nbsp;&nbsp;D O C T Y P E声明不仅包含常规的关键字和根元素名称，而且包含指示外部D T D源的关键字和D T D的位置。X M L规范定义了几种声明源的方法。声明中可以使用关键字SYSTEM 或 PUBLIC。如果使用 SYSTEM 关键字，解析器将仅根据给出的U R L寻找DTD,DTD通过U R L显式地直接定位。 <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;然而，如果D T D源关键字为 PUBLIC，情况就略微复杂一些。P U B L I C关键字用于声明众所周知的词汇表。例如，假设出版界已经对图书种类D T D达成了大量共识。需要根据该词汇表解析文档的应用程序可能会通过某种策略来定位D T D。如果这个D T D非常普及，应用程序或许有本地拷贝。直接使用本地拷贝可能比从We b服务器上远程下载更可取。D T D可能存放在数据库中，或者可以通过其他与应用程序相关的技术获得。如果使用P U B L I C关键字和U R I，应用程序就有机会利用自己的算法定位D T D。统一资源标识符（URI）可以是URL，也可以是一个单独的名字。 </TD></TR><TR><TD>&nbsp;</TD> </TR><TR><TD>我们可以在eclipse中用已声明的"-//SPRING//DTD BEAN//EN",建立一个本地DTD连接.下面以myeclipse为例:</TD> </TR><TR><TD>选择Windows -&gt; Preferences -&gt; MyEclipse -&gt; Editors -&gt; XML -&gt; XML Catalog, 点New新建一个XML Catalog Entries,如下图:(在URI栏点browser将.dtd文件导入进来)</TD></TR> <BR><IMG height=533 alt=o_dtd_in_eclipse2.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_dtd_in_eclipse2.JPG" width=713 border=0><BR><!--StartFragment -->&nbsp;OK,搞定..来试试Content Assist功能,在XML文件中按Ctrl+Space就可以弹出提示框了(Ctrl+Space是windows输入法的快捷键,须先改为其它键).如图: <BR><IMG height=384 alt=o_dtd_in_eclipse3.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_dtd_in_eclipse3.JPG" width=852 border=0><img src ="http://www.blogjava.net/hexuzhong/aggbug/10221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-08-16 13:05 <a href="http://www.blogjava.net/hexuzhong/archive/2005/08/16/10221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Myeclipse快速开发struts应用程序</title><link>http://www.blogjava.net/hexuzhong/archive/2005/07/06/7218.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Wed, 06 Jul 2005 10:09:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/07/06/7218.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/7218.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/07/06/7218.html#Feedback</comments><slash:comments>42</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/7218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/7218.html</trackback:ping><description><![CDATA[<P>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>头疼，又有几天没更新blog了,以此文来充实我那没有什么内容的blog。不说废话快速进入正题吧。PS：本文是myeclipse帮助文档的中文简化版。 ^___^ <BR>本人是struts初学者，如有错误请多指教。</TD></TR>
<TR>
<TD>&nbsp;</TD></TR>
<TR>
<TD>
<P>开发环境：<BR>jdk5.0<BR>eclipse3.1M7 (观众问：为啥还在用eclipse3.1M7呢？答曰：没办法，偶奶奶家还是拨号上网。^*^)<BR>myeclipse3.84<BR>tomcat5.0.28</P></TD></TR>
<TR>
<TD>&nbsp;</TD></TR>
<TR>
<TD>
<P>简介：<BR>文本主要介绍用myeclipse的struts designer（图形化开发环境）开发一个简单的用户登录程序片段。<BR>主要包括2个jsp文件、一个ActionForm、一个Action等其它<BR>userLogin.jsp(用户登录及错误提示页面) userLoginSuccess.jsp(提示登录成功页面)<BR>UserLoginForm.java(ActionForm,存放用户提交信息)<BR>UserLoginAction.java(Action,简单的处理用户登录事件) <BR></P></TD></TR>
<TR>
<TD>&nbsp;</TD></TR>
<TR>
<TD>开始吧</TD></TR>
<TR>
<TD>
<P>首先我们先建立一个j2ee的web project.如图1:<BR><IMG height=500 alt=o_1.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_1.JPG" width=525 border=0></P></TD></TR></TBODY></TABLE></P>点击next,Project name输入LoginDemo,其余保持默认,点击finish.<BR>在package explorer下,就可以看到我们的项目了,然后给这个项目添加Struts框架必要的文件.在我们项目名上点击右键,选择MyEclipes --&gt; Add Struts Capabilities...弹出对话框图2：<BR><IMG height=442 alt=o_2.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_2.JPG" width=719 border=0><BR>其中<SPAN class=style1><FONT color=#0000ff>Struts config path</FONT></SPAN>就是我们的struts配置文件，<SPAN class=style1><FONT color=#0000ff>URL pattern</FONT></SPAN>我们选择*.do，<SPAN class=style1><FONT color=#0000ff>Default application resource</FONT></SPAN>为我们默认的资源文件地方，你可以选择它的存储位置，我们在这里保持默认。点击Finish后，项目结构类似于图3：<BR><IMG height=644 alt=o_3.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_3.JPG" width=297 border=0><BR>
<P>现在就来开始我们的例子吧。首先修改/WEB-INF/web.xml文件,为其添加标签库(在使用中发现，不添加也能成功。但为了保持书上一致，还是添加安全些。hoho~~)将下面代码添加至 &lt;/webapp&gt; 上面：<BR><BR>&lt;taglib&gt;<BR>&lt;taglib-uri&gt;/tags/struts-html&lt;/taglib-uri&gt;<BR>&lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;<BR>&lt;/taglib&gt;</P>
<P>&lt;taglib&gt;<BR>&lt;taglib-uri&gt;/tags/struts-bean&lt;/taglib-uri&gt;<BR>&lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;<BR>&lt;/taglib&gt;</P>
<P>&lt;taglib&gt;<BR>&lt;taglib-uri&gt;/tags/struts-logic&lt;/taglib-uri&gt;<BR>&lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;<BR>&lt;/taglib&gt;<BR>完成后，打开<SPAN class=style1><FONT color=#0000ff>struts-config.xml</FONT></SPAN>文件，点击这个界面左下角的<SPAN class=style1><FONT color=#0000ff>Design</FONT></SPAN>进入可视化设计界面。有没有注意右边的<SPAN class=style1><FONT color=#0000ff>Palette</FONT></SPAN> :) 点击它，让我们来开始我们的jsp页面设计。我们先建立userLoginSuccess.jsp文件，为啥先建这一个呢？等下就知道了，在myeclipse中可以一次性把我们的Action,ActionForm,Jsp文件一次建好（将三个有关联的文件等下创建）。<BR>点击<SPAN class=style1><FONT color=#0000ff>Palette</FONT></SPAN>面版上的创建JSP文件图标,弹出创建JSP文件面板。图4：<BR><IMG height=404 alt=o_4.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_4.JPG" width=525 border=0><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>
<P>在<SPAN class=style1><FONT color=#0000ff>File Name</FONT></SPAN>里输入userLoginSuccess.jsp，<SPAN class=style1><FONT color=#0000ff>Template to use</FONT></SPAN>选择2] Standard JSP using Struts 1.1,点击Finish完成。<BR>完成后，struts-config.xml文件自动被更新，可视化界在上也出现了刚新建的JSP模块。新建的jsp文件也被打开了。<BR>覆盖所有的&lt;%@ taglib ...... 为我们开始在/WEB-INF/web.xml中定义的：</P>
<P>&lt;%@ taglib uri="/tags/struts-html" prefix="html"%&gt;<BR>&lt;%@ taglib uri="/tags/struts-bean" prefix="bean"%&gt;<BR>&lt;%@ taglib uri="/tags/struts-logic" prefix="logic"%&gt; <BR><BR>然后在&lt;body&gt;&lt;/body&gt;中添加:<BR>Hello &lt;bean:write name="userName" scope="request" /&gt; .<BR>这里将request中的属性userName输出在页面上，所以等下我们在UserLoginAction中，登录成功后要设置一个相关属性。</P></TD></TR>
<TR>
<TD>
<P>OK,下面来开始我们最后三个文件的设计吧。在<SPAN class=style1><FONT color=#0000ff>Struts-config.xml</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>Design</FONT></SPAN>模式中，在画版的空白区域点右键，选择<SPAN class=style1><FONT color=#0000ff>New</FONT></SPAN> --&gt; New <SPAN class=style1><FONT color=#0000ff>Form, Action and JSP</FONT></SPAN> 弹出ActionForm的选项面板，我们按图上输入相关值，图5：<BR><IMG height=606 alt=o_5.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_5.JPG" width=615 border=0></P></TD></TR></TBODY></TABLE></P>在<SPAN class=style1><FONT color=#0000ff>Optional Details</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>Form Properties</FONT></SPAN>选项卡，点<SPAN class=style1><FONT color=#0000ff>add</FONT></SPAN>为这个ActionForm添加相关值，在这个登录示例中，将添加两个属性userName和password，图6：<BR><IMG height=212 alt=o_6.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_6.JPG" width=394 border=0><BR>在添加password时，注意将<SPAN class=style1><FONT color=#0000ff>JSP input type</FONT></SPAN> 下拉框选择password. <BR>完成这步后，我们就将ActionForm设计完成。<BR>接下来选择 <SPAN class=style1><FONT color=#0000ff>Optional Details</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>JSP</FONT></SPAN>选项卡,我们选中<SPAN class=style1><FONT color=#0000ff>Create JSP form?</FONT></SPAN> 这一步myeclipse将为我们创建一个简单的与用户交互的登录页面。保持内容和图7一样。图7：<BR><IMG height=153 alt=o_7.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_7.JPG" width=579 border=0><BR>因为我们这只是简单的演示一个登录片段，所以不用验证用户信息是否合法，所以将 <SPAN class=style1><FONT color=#0000ff>Option Details</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>method</FONT></SPAN>选项卡的新建方法去掉，如图8：<BR><IMG height=153 alt=o_8.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_8.JPG" width=579 border=0><BR>点Next，进入Action选项面板.将<SPAN class=style1><FONT color=#0000ff>Option Details</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>Form</FONT></SPAN>选项卡中<SPAN class=style1><FONT color=#0000ff>Validate Form</FONT></SPAN>取消选择，如图9：<BR><IMG height=606 alt=o_9.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_9.JPG" width=615 border=0><BR>然后在<SPAN class=style1><FONT color=#0000ff>Forwards</FONT></SPAN>选项卡中点<SPAN class=style1><FONT color=#0000ff>add</FONT></SPAN>添加成功和失败返回的页面.如图10：<BR><IMG height=172 alt=o_10.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_10.JPG" width=587 border=0><BR>点击Finish完成。在<SPAN class=style1><FONT color=#0000ff>Struts-config.xml</FONT></SPAN>的<SPAN class=style1><FONT color=#0000ff>Design</FONT></SPAN>中，可以看到图11所示：<BR><IMG height=491 alt=o_11.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_11.JPG" width=670 border=0><BR>最后，简单的修改一下userLogin.jsp,将所有&lt;%@ taglib ...%&gt;替换为：<BR>&lt;%@ taglib uri="/tags/struts-html" prefix="html"%&gt;<BR>&lt;%@ taglib uri="/tags/struts-bean" prefix="bean"%&gt;<BR>修改UserLoginAction中的execute片段为如下所示，图12：<BR><IMG height=334 alt=o_12.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_12.JPG" width=701 border=0><BR><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>
<P>OK，完成。。。下面就部暑项目，测试。。。</P></TD></TR>
<TR>
<TD>像为项目添加Struts框架一样，在项目名上右击，选择<SPAN class=style1><FONT color=#0000ff>MyEclipse</FONT></SPAN> --&gt; <SPAN class=style1><FONT color=#0000ff>Add and Remove Project development</FONT></SPAN>.<BR>在弹出对话框上，单击<SPAN class=style1><FONT color=#0000ff>add</FONT></SPAN> ，在弹出的 <SPAN class=style1><FONT color=#0000ff>New Deployment</FONT></SPAN> 对话框上，<SPAN class=style1><FONT color=#0000ff>Server</FONT></SPAN>选Tomcat5，点击Finish完成部署，如图13:<BR><IMG height=436 alt=o_13.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_13.JPG" width=525 border=0><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>在用浏览器上打开：http://127.0.0.1:8080/LoginDemo/userLogin.jsp</TD></TR>
<TR>
<TD>输入密码123456,用户名EricHe。显示成功：<BR></TD></TR></TBODY></TABLE><IMG height=270 alt=o_14.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/2034/o_14.JPG" width=342 border=0><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD>如果输错，或不输入，则无反映又回到当前登录页面（因为我们没有设置错误信息）。<BR></TD></TR>
<TR>
<TD>55555~~~ 终于写完了。。。。。。。2005-07-06</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/hexuzhong/aggbug/7218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-07-06 18:09 <a href="http://www.blogjava.net/hexuzhong/archive/2005/07/06/7218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT学习笔记之- GridLayout</title><link>http://www.blogjava.net/hexuzhong/archive/2005/06/24/6659.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Fri, 24 Jun 2005 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/06/24/6659.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/6659.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/06/24/6659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/6659.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/6659.html</trackback:ping><description><![CDATA[<STRONG>GridLayout<BR><BR></STRONG><SPAN class=en-text>GridLayout</SPAN>是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^<SPAN class=en-text>GridLayout</SPAN>有两个构造函数.<BR><BR><FONT color=#a52a2a>GridLayout的构造函数</FONT><BR>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="45%">构造函数</TD>
<TD width="55%">描述</TD></TR>
<TR>
<TD class=en-text>public GridLayout() </TD>
<TD class=cn-text>建立一个默认的<SPAN class=en-text>GridLayout</SPAN>布局.</TD></TR>
<TR>
<TD class=en-text>public GridLayout(int numColumns, boolean makeColumnsEqualWidth)</TD>
<TD class=cn-text>建立一个<SPAN class=en-text>GridLayout</SPAN>布局,拥有<SPAN class=en-text>numColumns</SPAN>列,如果<SPAN class=en-text>makeColumnsEqualWidth</SPAN>为<SPAN class=en-text>true,</SPAN>则全部组件将拥有相同的宽度.</TD></TR></TBODY></TABLE><SPAN class=en-text>GridLayout</SPAN>有6个公共的数据成员,相对重要的是<SPAN class=en-text>numColumns.<BR><BR><FONT color=#a52a2a>GridLayout数据成员<BR></FONT>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="45%">属性</TD>
<TD width="55%">描述</TD></TR>
<TR>
<TD class=en-text>int horizontalSpacing</TD>
<TD class=cn-text>控制一行中两个网格间组件的宽度,像素为单位.</TD></TR>
<TR>
<TD class=en-text>boolean makeColumnsEqualWidth </TD>
<TD class=cn-text>如果为<SPAN class=en-text>true,</SPAN>强制全部的列拥有相同的宽度.</TD></TR>
<TR>
<TD class=en-text>int marginHeight</TD>
<TD class=cn-text>控制顶部和底部组件离边缘的距离空间,以像素为单位.</TD></TR>
<TR>
<TD class=en-text>int marginWidth </TD>
<TD class=cn-text>控制左边和右边组件离边缘的距离空间,以像素为单位.</TD></TR>
<TR>
<TD class=en-text>int numColumns </TD>
<TD class=cn-text>此<SPAN class=en-text>GridLayout</SPAN>的列数目.</TD></TR>
<TR>
<TD class=en-text>int verticalSpacing</TD>
<TD class=cn-text>控制一列中两个网络间组件的宽度,像素为单位.</TD></TR></TBODY></TABLE></SPAN>你能使用<SPAN class=en-text>GridLayout</SPAN>设置<SPAN class=en-text>GridData</SPAN>类来布局更多的复杂组件.<SPAN class=en-text>GridData</SPAN>有两个构造函数.<BR><BR><FONT color=#a52a2a>GridData构造函数<BR></FONT>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="45%">构造函数</TD>
<TD width="55%">描述</TD></TR>
<TR>
<TD class=en-text>public GridData() </TD>
<TD class=cn-text>创建默认一个默认的<SPAN class=en-text>GridData</SPAN>对象.</TD></TR>
<TR>
<TD class=en-text>public GridData(int style) </TD>
<TD class=cn-text>初始化指定的style风格布局.</TD></TR></TBODY></TABLE>和其它的布局类一样,<SPAN class=en-text>GridLayout</SPAN>也提供一些公共的数据成员控制它的状态,它也提供一些常量,你可以在在构造成函数中使用.你可以用过位标志"|"来连接几个不同的效果,但请注意风格不要起冲突.<BR><BR><FONT color=#a52a2a>GridData数据成员</FONT> <BR>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="45%">属性</TD>
<TD width="55%">描述</TD></TR>
<TR>
<TD class=en-text>boolean grabExcessHorizontalSpace </TD>
<TD class=cn-text>如果为<SPAN class=en-text>true,</SPAN>指示布局器中网格自动填充多余的水平空间,默认为<SPAN class=en-text>false.</SPAN></TD></TR>
<TR>
<TD class=en-text>boolean grabExcessVerticalSpace </TD>
<TD class=cn-text>如果为<SPAN class=en-text>true,</SPAN>指示布局器中网格自动填写多余的垂直空间,默认为<SPAN class=en-text>false.</SPAN></TD></TR>
<TR>
<TD class=en-text>int heightHint</TD>
<TD class=cn-text>该行中最小的高度,以像素为单位,默认为<SPAN class=en-text>SWT.DEFAULT.</SPAN></TD></TR>
<TR>
<TD class=en-text>int horizontalAlignment </TD>
<TD class=cn-text>网格中组件水平对齐方式,可能的值为<SPAN class=en-text>BEGINNING, CENTER, END,</SPAN>和<SPAN class=en-text>FILL.</SPAN></TD></TR>
<TR>
<TD class=en-text>int horizontalIndent </TD>
<TD class=cn-text>与左边网格的水平缩进,默认为0</TD></TR>
<TR>
<TD class=en-text>int horizontalSpan </TD>
<TD class=cn-text>设置网格占有的列数目,默认为1</TD></TR>
<TR>
<TD class=en-text>int verticalAlignment </TD>
<TD class=cn-text>网格中组件垂直对齐方式,可能的值为<SPAN class=en-text>BEGINNING, CENTER, END,</SPAN>和<SPAN class=en-text>FILL.</SPAN></TD></TR>
<TR>
<TD class=en-text>int verticalSpan </TD>
<TD class=cn-text>设置网格占有的行数目,默认为1</TD></TR>
<TR>
<TD class=en-text>int widthHint </TD>
<TD class=cn-text>该列中最小的宽度,以像素为单位,默认为<SPAN class=en-text>SWT.DEFAULT.</SPAN></TD></TR></TBODY></TABLE><SPAN class=caption><BR><FONT color=#a52a2a>GridData常量</FONT> <BR>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="45%">常量</TD>
<TD width="55%">描述</TD></TR>
<TR>
<TD class=en-text>BEGINNING</TD>
<TD class=cn-text>非<SPAN class=en-text>style</SPAN>值,指定水平或垂直的对齐方式.</TD></TR>
<TR>
<TD class=en-text>CENTER</TD>
<TD class=cn-text>非<SPAN class=en-text>style</SPAN>值,指定组件在网格中居中,水平或垂直.</TD></TR>
<TR>
<TD class=en-text>END</TD>
<TD class=cn-text>非<SPAN class=en-text>style</SPAN>值,指定水平或垂直的对齐方式.</TD></TR>
<TR>
<TD class=en-text>FILL</TD>
<TD class=cn-text>非<SPAN class=en-text>style</SPAN>值,指定组件填充网格,水平或垂直.</TD></TR>
<TR>
<TD class=en-text>FILL_BOTH</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>和<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>FILL,</SPAN>设置<SPAN class=en-text>grabExcessHorizontalSpace</SPAN>和<SPAN class=en-text>grabExcessVerticalSpace</SPAN>为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>FILL_HORIZONTAL</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>为<SPAN class=en-text>FILL,</SPAN>和设置<SPAN class=en-text>grabExcessHorizontalSpace</SPAN>为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>FILL_VERTICAL</TD>
<TD class=cn-text>设置<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>FILL,</SPAN>和设置<SPAN class=en-text>grabExcessVerticalSpace</SPAN>为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>GRAB_HORIZONTAL</TD>
<TD class=cn-text>设置<SPAN class=en-text>grabExcessHorizontalSpace</SPAN>为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>GRAB_VERTICAL</TD>
<TD class=cn-text>设置<SPAN class=en-text>grabExcessVerticalSpace</SPAN>为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>HORIZONTAL_ALIGN_BEGINNING</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>为<SPAN class=en-text>BEGINNING.</SPAN></TD></TR>
<TR>
<TD class=en-text>HORIZONTAL_ALIGN_CENTER</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>为<SPAN class=en-text>CENTER.</SPAN></TD></TR>
<TR>
<TD class=en-text>HORIZONTAL_ALIGN_END</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>为<SPAN class=en-text>END.</SPAN></TD></TR>
<TR>
<TD class=en-text>HORIZONTAL_ALIGN_FILL</TD>
<TD class=cn-text>设置<SPAN class=en-text>horizontalAlignment</SPAN>为<SPAN class=en-text>FILL.</SPAN></TD></TR>
<TR>
<TD class=en-text>VERTICAL_ALIGN_BEGINNING</TD>
<TD class=cn-text>设置<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>BEGINNING.</SPAN></TD></TR>
<TR>
<TD class=en-text>VERTICAL_ALIGN_CENTER</TD>
<TD class=cn-text>设置<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>CENTER.</SPAN></TD></TR>
<TR>
<TD class=en-text>VERTICAL_ALIGN_END</TD>
<TD class=cn-text>设置<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>END.</SPAN></TD></TR>
<TR>
<TD class=en-text>VERTICAL_ALIGN_FILL</TD>
<TD class=cn-text>设置<SPAN class=en-text>verticalAlignment</SPAN>为<SPAN class=en-text>FILL.</SPAN></TD></TR></TBODY></TABLE><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD class=cn-text>下面我们来看几个例子：</TD></TR>
<TR>
<TD><FONT color=#990000><SPAN class=style2>代码片段：</SPAN><BR></FONT><PRE class=en-text>	GridLayout gridLayout = new GridLayout();
	gridLayout.numColumns = 2;
	shell.setLayout(gridLayout);
	
	new Button(shell, SWT.PUSH).setText("one");
	new Button(shell, SWT.PUSH).setText("two");
	new Button(shell, SWT.PUSH).setText("three");
	new Button(shell, SWT.PUSH).setText("four");<BR><BR><SPAN class=style2><FONT color=#990000>运行效果：
<IMG height=93 alt=o_GridLayout-1.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_GridLayout-1.jpg" width=123 border=0></FONT></SPAN></PRE></TD></TR></TBODY></TABLE></SPAN>图中可以看到各个<SPAN class=en-text>Button</SPAN>的宽度是依靠字体长度来自动设定的，假如你想设置所有的<SPAN class=en-text>Button</SPAN>都使用相同的大小该怎么办？使用<SPAN class=en-text>makeColumnsEqualWidth = true;</SPAN>吗？不，这样做不行，它回会将各网格的大小设为相同,我们该使用<SPAN class=en-text>GridData</SPAN>中相关属性来设置<SPAN class=en-text>Button.</SPAN>下面程序中使用了<SPAN class=en-text>GridData.FILL_BOTH</SPAN>属性,它将填充所在网格水平或垂直空间,并将多余空间占有,这样不论窗口调整多大,四个<SPAN class=en-text>Button</SPAN>都会有相同空间.<BR>当然GridLayout能做的不只是这些,要更复杂的效果,可能多个<SPAN class=en-text>Composite</SPAN>配合使用,具体请参见原书第二部分第四章:<SPAN class=en-text>Apress.The.Definitive.Guide.to.SWT.and.JFace.eBook-LiB.chm</SPAN><BR><FONT color=#990000><SPAN class=style2>运行效果</SPAN><BR></FONT>初始化:<BR><IMG height=93 alt=o_GridLayout-2.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_GridLayout-2.jpg" width=123 border=0><BR>调整大小后: <BR><IMG height=172 alt=o_GridLayout-3.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_GridLayout-3.jpg" width=256 border=0><BR><SPAN class=style2><FONT color=#990000>完整代码: </FONT></SPAN><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">package&nbsp;chapter4;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.GridData;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.GridLayout;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Button;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_247_298_Open_Image onclick="this.style.display='none'; Codehighlighter1_247_298_Open_Text.style.display='none'; Codehighlighter1_247_298_Closed_Image.style.display='inline'; Codehighlighter1_247_298_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_247_298_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_247_298_Closed_Text.style.display='none'; Codehighlighter1_247_298_Open_Image.style.display='inline'; Codehighlighter1_247_298_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_247_298_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_247_298_Open_Text><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000">*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@author&nbsp;HexUzHoNG&nbsp;Created&nbsp;on&nbsp;2005-6-23<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_328_1369_Open_Image onclick="this.style.display='none'; Codehighlighter1_328_1369_Open_Text.style.display='none'; Codehighlighter1_328_1369_Closed_Image.style.display='inline'; Codehighlighter1_328_1369_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_328_1369_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_328_1369_Closed_Text.style.display='none'; Codehighlighter1_328_1369_Open_Image.style.display='inline'; Codehighlighter1_328_1369_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;GridLayoutDemo&nbsp;</SPAN><SPAN id=Codehighlighter1_328_1369_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_328_1369_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_371_1366_Open_Image onclick="this.style.display='none'; Codehighlighter1_371_1366_Open_Text.style.display='none'; Codehighlighter1_371_1366_Closed_Image.style.display='inline'; Codehighlighter1_371_1366_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_371_1366_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_371_1366_Closed_Text.style.display='none'; Codehighlighter1_371_1366_Open_Image.style.display='inline'; Codehighlighter1_371_1366_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</SPAN><SPAN id=Codehighlighter1_371_1366_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_371_1366_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Display();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shell&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell(display);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GridLayout&nbsp;gridLayout&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;GridLayout();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">设置为2列</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gridLayout.numColumns&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gridLayout.makeColumnsEqualWidth&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">true</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setLayout(gridLayout);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GridData&nbsp;gd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;GridData(GridData.FILL_BOTH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;butOne&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butOne.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">one</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butOne.setLayoutData(gd);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;GridData(GridData.FILL_BOTH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;butTwo&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butTwo.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">two</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butTwo.setLayoutData(gd);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;GridData(GridData.FILL_BOTH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;butThree&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butThree.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">three</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butThree.setLayoutData(gd);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;GridData(GridData.FILL_BOTH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;butFour&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butFour.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">four</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;butFour.setLayoutData(gd);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.pack();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_1272_1339_Open_Image onclick="this.style.display='none'; Codehighlighter1_1272_1339_Open_Text.style.display='none'; Codehighlighter1_1272_1339_Closed_Image.style.display='inline'; Codehighlighter1_1272_1339_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1272_1339_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1272_1339_Closed_Text.style.display='none'; Codehighlighter1_1272_1339_Open_Image.style.display='inline'; Codehighlighter1_1272_1339_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">shell.isDisposed())&nbsp;</SPAN><SPAN id=Codehighlighter1_1272_1339_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1272_1339_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_1309_1335_Open_Image onclick="this.style.display='none'; Codehighlighter1_1309_1335_Open_Text.style.display='none'; Codehighlighter1_1309_1335_Closed_Image.style.display='inline'; Codehighlighter1_1309_1335_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1309_1335_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1309_1335_Closed_Text.style.display='none'; Codehighlighter1_1309_1335_Open_Image.style.display='inline'; Codehighlighter1_1309_1335_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">display.readAndDispatch())&nbsp;</SPAN><SPAN id=Codehighlighter1_1309_1335_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1309_1335_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.blogjava.net/hexuzhong/aggbug/6659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-06-24 11:08 <a href="http://www.blogjava.net/hexuzhong/archive/2005/06/24/6659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT学习笔记之-RowLayout</title><link>http://www.blogjava.net/hexuzhong/archive/2005/06/23/6589.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Thu, 23 Jun 2005 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/06/23/6589.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/6589.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/06/23/6589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/6589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/6589.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=6 width="100%" border=0>
<TBODY>
<TR>
<TD class=title><STRONG><FONT color=#a52a2a>RowLayout</FONT></STRONG></TD></TR>
<TR>
<TD class=cn-text><SPAN class=en-text>RowLayout</SPAN>和<SPAN class=en-text>FillLayout</SPAN>相似,它们放置全部的组件在单行或单列.但是<SPAN class=en-text>RowLayout</SPAN>没有强制全部的组件相同的大小.它能当组件在行或列上超出父组件空间时自动换行.<BR><SPAN class=en-text>RowLayout</SPAN>使用<SPAN class=en-text>RowData</SPAN>来决定组件的初始化大小(宽和高).你可以传递<SPAN class=en-text>RowData</SPAN>对象给组件的<SPAN class=en-text>setLayoutData()</SPAN>方法.布局管理器<SPAN class=en-text>(RowLayout)</SPAN>通过组件的<SPAN class=en-text>RowData</SPAN>来决定组件的大小和位置.</TD></TR>
<TR>
<TD><SPAN class=note><FONT color=#0000ff><STRONG>注意:</STRONG></FONT></SPAN> <SPAN class=cn-text>在</SPAN><SPAN class=en-text>SWT</SPAN><SPAN class=cn-text>组件中,有一个方法名为</SPAN><SPAN class=en-text>setData()</SPAN><SPAN class=cn-text>名字有点像</SPAN><SPAN class=en-text>setLayoutDate().</SPAN><SPAN class=cn-text>如果你设置了控件的相关属性,却没有达到你想要的效果,请确认你使用的是</SPAN><SPAN class=en-text>setLayoutData()</SPAN><SPAN class=cn-text>方法.</SPAN></TD></TR>
<TR>
<TD>
<P><SPAN class=en-text>RowData</SPAN><SPAN class=cn-text>类有两个公共的数据成员:<BR></SPAN><SPAN class=en-text>public int height<BR>public int width</SPAN><SPAN class=cn-text><BR>你可以设置这些值在创建了</SPAN><SPAN class=en-text>RowData</SPAN><SPAN class=cn-text>对象后,例如下面的代码建立一个</SPAN><SPAN class=en-text>Button</SPAN><SPAN class=cn-text>和设置它的大小为100像数宽和50像数高:</SPAN><BR><SPAN class=en-text>Button button = new Button(shell, SWT.PUSH);<BR>RowData rowData = new RowData();<BR>rowData.height = 50;<BR>rowData.width = 100;<BR>button.setLayoutData(rowData); </SPAN><BR></P></TD></TR>
<TR>
<TD><FONT color=#990000><SPAN class="en-text style1">RowData</SPAN><SPAN class="cn-text style1">提供两个构造函数来指定高和宽.<BR>
<TABLE width="100%" border=1>
<TBODY>
<TR>
<TD class=cn-text width="42%">构造函数</TD>
<TD class=cn-text width="58%">描述</TD></TR>
<TR>
<TD class=en-text>public RowData(int width, int height)</TD>
<TD class=cn-text>单独的设置宽和高</TD></TR>
<TR>
<TD class=en-text>public RowData(Point point)</TD>
<TD class=cn-text><SPAN class=en-text>new Point(100, 50),</SPAN>通过<SPAN class=en-text>Point</SPAN>设置宽和高</TD></TR></TBODY></TABLE><BR><FONT color=#000000>RowLayout和FillLayout相似,也提供属性type(SWT.HORIZONTAL或SWT.VERTICAL)来配置布局为行或列.RowLayout同时也提供另外几个属性来定制布局风格.</FONT> <BR><BR><SPAN class=en-text>RowLayout</SPAN><SPAN class=cn-text>的属性</SPAN></SPAN></FONT></TD></TR></TBODY></TABLE>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="22%">属性</TD>
<TD width="78%">描述</TD></TR>
<TR>
<TD class=en-text>boolean justify </TD>
<TD>如果为<SPAN class=en-text>true,</SPAN>类似于平均分配当前行或行上的空间.默认为<SPAN class=en-text>false.</SPAN></TD></TR>
<TR>
<TD class=en-text>int marginBottom, marginLeft, marginRight, marginTop</TD>
<TD class=cn-text>分别定义底,左,右,上边距,以像素为单位.默认为3像素.</TD></TR>
<TR>
<TD class=en-text>boolean pack </TD>
<TD class=cn-text>如果为<SPAN class=en-text>true,</SPAN>通知控件调整为它自已最合适的大小,默认为<SPAN class=en-text>true.</SPAN></TD></TR>
<TR>
<TD class=en-text>int spacing </TD>
<TD class=cn-text>设置邻近控件间的间距,像素为单位,默认为3像素.</TD></TR>
<TR>
<TD class=en-text>int type</TD>
<TD>布局管理器中控件布局的方式,默认为<SPAN class=en-text>SWT.HORIZONTAL</SPAN>按行排列,<SPAN class=en-text>SWT.VERTICAL</SPAN><SPAN class=cn-text>时按列排列.</SPAN></TD></TR>
<TR>
<TD class=en-text>boolean warp </TD>
<TD class=cn-text>如果为<SPAN class=en-text>true,</SPAN>当行或列的超出布局空间大小时自动换行到下一行或列.默为认<SPAN class=en-text>true.</SPAN></TD></TR></TBODY></TABLE><SPAN class=en-text><BR>RowLayout</SPAN>有两个构造函数,一个为空,一个为带单参数<SPAN class=en-text>type</SPAN>.<BR>下面是一个简单的<SPAN class=en-text>RowLayout</SPAN>布局程序运行的示例:<BR><IMG height=137 alt=o_RowLayout-1.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_RowLayout-1.jpg" width=379 border=0><BR>
<TABLE cellSpacing=6 width="100%" border=0>
<TBODY>
<TR>
<TD class=en-text><STRONG>Example:</STRONG><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">package&nbsp;chapter4;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.RowLayout;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Button;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_206_236_Open_Image onclick="this.style.display='none'; Codehighlighter1_206_236_Open_Text.style.display='none'; Codehighlighter1_206_236_Closed_Image.style.display='inline'; Codehighlighter1_206_236_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_206_236_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_206_236_Closed_Text.style.display='none'; Codehighlighter1_206_236_Open_Image.style.display='inline'; Codehighlighter1_206_236_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_206_236_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_206_236_Open_Text><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000">*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@author&nbsp;HexUzHoNG<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_265_942_Open_Image onclick="this.style.display='none'; Codehighlighter1_265_942_Open_Text.style.display='none'; Codehighlighter1_265_942_Closed_Image.style.display='inline'; Codehighlighter1_265_942_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_265_942_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_265_942_Closed_Text.style.display='none'; Codehighlighter1_265_942_Open_Image.style.display='inline'; Codehighlighter1_265_942_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;RowLayoutDemo&nbsp;</SPAN><SPAN id=Codehighlighter1_265_942_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_265_942_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_308_939_Open_Image onclick="this.style.display='none'; Codehighlighter1_308_939_Open_Text.style.display='none'; Codehighlighter1_308_939_Closed_Image.style.display='inline'; Codehighlighter1_308_939_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_308_939_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_308_939_Closed_Text.style.display='none'; Codehighlighter1_308_939_Open_Image.style.display='inline'; Codehighlighter1_308_939_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</SPAN><SPAN id=Codehighlighter1_308_939_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_308_939_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Display();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shell&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell(display);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RowLayout&nbsp;rowLayout&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;RowLayout();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">可以通过设置相关属性来改变外观&nbsp;:-)</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rowLayout.justify&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">true</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setLayout(rowLayout);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">one</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">two</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">three</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">four</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">five</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">six</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_848_915_Open_Image onclick="this.style.display='none'; Codehighlighter1_848_915_Open_Text.style.display='none'; Codehighlighter1_848_915_Closed_Image.style.display='inline'; Codehighlighter1_848_915_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_848_915_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_848_915_Closed_Text.style.display='none'; Codehighlighter1_848_915_Open_Image.style.display='inline'; Codehighlighter1_848_915_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">shell.isDisposed())&nbsp;</SPAN><SPAN id=Codehighlighter1_848_915_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_848_915_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_885_911_Open_Image onclick="this.style.display='none'; Codehighlighter1_885_911_Open_Text.style.display='none'; Codehighlighter1_885_911_Closed_Image.style.display='inline'; Codehighlighter1_885_911_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_885_911_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_885_911_Closed_Text.style.display='none'; Codehighlighter1_885_911_Open_Image.style.display='inline'; Codehighlighter1_885_911_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">display.readAndDispatch())&nbsp;</SPAN><SPAN id=Codehighlighter1_885_911_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_885_911_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV></TD></TR>
<TR>
<TD class=cn-text><SPAN class=en-text>RowLayout</SPAN>和<SPAN class=en-text>RowData</SPAN>一起使用,可以在相当大程度上改变程序外观,下面是一个例子:<BR><IMG height=288 alt=r_RowLayout-2.jpg src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/r_RowLayout-2.jpg" width=138 border=0></TD></TR></TBODY></TABLE><STRONG>Example:<BR></STRONG><PRE class=en-text><DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"><DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">package&nbsp;chapter4;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.RowData;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.RowLayout;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Button;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_245_275_Open_Image onclick="this.style.display='none'; Codehighlighter1_245_275_Open_Text.style.display='none'; Codehighlighter1_245_275_Closed_Image.style.display='inline'; Codehighlighter1_245_275_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_245_275_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_245_275_Closed_Text.style.display='none'; Codehighlighter1_245_275_Open_Image.style.display='inline'; Codehighlighter1_245_275_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_245_275_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_245_275_Open_Text><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000">*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@author&nbsp;HexUzHoNG<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_304_1118_Open_Image onclick="this.style.display='none'; Codehighlighter1_304_1118_Open_Text.style.display='none'; Codehighlighter1_304_1118_Closed_Image.style.display='inline'; Codehighlighter1_304_1118_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_304_1118_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_304_1118_Closed_Text.style.display='none'; Codehighlighter1_304_1118_Open_Image.style.display='inline'; Codehighlighter1_304_1118_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;RowLayoutDemo&nbsp;</SPAN><SPAN id=Codehighlighter1_304_1118_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_304_1118_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_347_1115_Open_Image onclick="this.style.display='none'; Codehighlighter1_347_1115_Open_Text.style.display='none'; Codehighlighter1_347_1115_Closed_Image.style.display='inline'; Codehighlighter1_347_1115_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_347_1115_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_347_1115_Closed_Text.style.display='none'; Codehighlighter1_347_1115_Open_Image.style.display='inline'; Codehighlighter1_347_1115_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</SPAN><SPAN id=Codehighlighter1_347_1115_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_347_1115_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Display();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shell&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell(display);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RowLayout&nbsp;rowLayout&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;RowLayout(SWT.VERTICAL);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rowLayout.marginLeft&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setLayout(rowLayout);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">one</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">two</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">three</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">four</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">five</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">six</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;seven&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RowData&nbsp;rowDate&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;RowData(</SPAN><SPAN style="COLOR: #000000">80</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">80</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seven.setLayoutData(rowDate);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seven.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">seven</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_1024_1091_Open_Image onclick="this.style.display='none'; Codehighlighter1_1024_1091_Open_Text.style.display='none'; Codehighlighter1_1024_1091_Closed_Image.style.display='inline'; Codehighlighter1_1024_1091_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1024_1091_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1024_1091_Closed_Text.style.display='none'; Codehighlighter1_1024_1091_Open_Image.style.display='inline'; Codehighlighter1_1024_1091_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">shell.isDisposed())&nbsp;</SPAN><SPAN id=Codehighlighter1_1024_1091_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1024_1091_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_1061_1087_Open_Image onclick="this.style.display='none'; Codehighlighter1_1061_1087_Open_Text.style.display='none'; Codehighlighter1_1061_1087_Closed_Image.style.display='inline'; Codehighlighter1_1061_1087_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1061_1087_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1061_1087_Closed_Text.style.display='none'; Codehighlighter1_1061_1087_Open_Image.style.display='inline'; Codehighlighter1_1061_1087_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">display.readAndDispatch())&nbsp;</SPAN><SPAN id=Codehighlighter1_1061_1087_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1061_1087_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV></PRE><img src ="http://www.blogjava.net/hexuzhong/aggbug/6589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-06-23 10:10 <a href="http://www.blogjava.net/hexuzhong/archive/2005/06/23/6589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SWT学习笔记之-FillLayout</title><link>http://www.blogjava.net/hexuzhong/archive/2005/06/22/6553.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Wed, 22 Jun 2005 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/06/22/6553.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/6553.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/06/22/6553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/6553.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/6553.html</trackback:ping><description><![CDATA[<P>记录这些笔记的主要目的是想提高自已的写作水平和英文能力.原来读书不努力<IMG height=20 src="http://www.blogjava.net/Emoticons/hitwall.gif" width=25 border=0>,希望现在还来得及.<BR>这些东西是Apress.The.Definitive.Guide.to.SWT.and.JFace.2004.LiB.chm中的简化版本. <IMG height=19 src="http://www.blogjava.net/Emoticons/regular_smile.gif" width=19 border=0><BR>如有错误请多指点. :)<BR><BR>FillLayout是一种简单的布局类,它放置全部的控件在一单行或单列上并保持所有控件拥有相同的大小空间.<BR><BR><FONT color=#a52a2a>FillLayout构造函数</FONT> </P>
<TABLE width="100%" border=1>
<TBODY>
<TR class=cn-text>
<TD width="38%">构造函数</TD>
<TD width="62%">描述</TD></TR>
<TR>
<TD class=en-text>public FillLayout() </TD>
<TD class=cn-text>默认使用布局类型为 <SPAN class=en-text>SWT.HORIZONTAL</SPAN> </TD></TR>
<TR>
<TD class=en-text>public FillLayout(int type) </TD>
<TD class=cn-text>指定布局类型为 <SPAN class=en-text>type</SPAN> </TD></TR></TBODY></TABLE>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD><SPAN class=en-text>type</SPAN><SPAN class=cn-text>的值为</SPAN> <SPAN class=en-text>SWT.HORIZONTAL,</SPAN><SPAN class=cn-text>控件将放置在单行上.</SPAN> <SPAN class=en-text>SWT.VERTICAL</SPAN><SPAN class=cn-text>则将控件放置在单列上.</SPAN></TD></TR>
<TR>
<TD><SPAN class=note><FONT color=#0000ff>注意:</FONT> </SPAN><SPAN class=cn-text>在带参数</SPAN><SPAN class=en-text>FillLayout(int type)</SPAN><SPAN class=cn-text>中, 参数值为</SPAN><SPAN class=en-text>int</SPAN><SPAN class=cn-text>类型,如果你输入的值为非上面两种类型值,则默认使用</SPAN><SPAN class=en-text>SWT.VERTICAL.</SPAN></TD></TR>
<TR>
<TD>&nbsp;</TD></TR>
<TR>
<TD>
<P><SPAN class=cn-text>让我们来看一个实例,新建一个</SPAN><SPAN class=en-text>SWT</SPAN><SPAN class=cn-text>程序,先设置</SPAN><SPAN class=en-text>Shell</SPAN><SPAN class=cn-text>的布局为</SPAN><SPAN class=en-text>SWT.HORIZONTAL,</SPAN><SPAN class=cn-text>然后添加三个</SPAN><SPAN class=en-text>Button</SPAN><SPAN class=cn-text>在</SPAN><SPAN class=en-text>Shell</SPAN><SPAN class=cn-text>上,运行程序可以看到</SPAN><SPAN class=en-text>Button</SPAN><SPAN class=cn-text>的布局方式为水平方式排列.见下图:</SPAN><BR><IMG height=200 alt=r_HORIZONTAL.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/r_HORIZONTAL.JPG" width=300 border=0><BR><BR><SPAN class=cn-text>然后将程序中的</SPAN><SPAN class=en-text>FillLayout</SPAN><SPAN class=cn-text>的构造函数改为任一数值,和</SPAN><SPAN class=en-text>SWT.HORIZONTAL,SWT.VERTICAL</SPAN><SPAN class=cn-text>不同.运行程序,可以看到使用了非指定的两个数值时,</SPAN><SPAN class=en-text>SWT</SPAN><SPAN class=cn-text>程序默认使用</SPAN><SPAN class=en-text>SWT.VERTICAL</SPAN><SPAN class=cn-text>布局程序.见下图:</SPAN><BR><IMG height=200 alt=o_any.JPG src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_any.JPG" width=300 border=0><BR><BR><STRONG><FONT color=#0000ff>程序清单:</FONT></STRONG></P></TD></TR></TBODY></TABLE>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">package&nbsp;chapter4;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.layout.FillLayout;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Button;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_207_258_Open_Image onclick="this.style.display='none'; Codehighlighter1_207_258_Open_Text.style.display='none'; Codehighlighter1_207_258_Closed_Image.style.display='inline'; Codehighlighter1_207_258_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_207_258_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_207_258_Closed_Text.style.display='none'; Codehighlighter1_207_258_Open_Image.style.display='inline'; Codehighlighter1_207_258_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_207_258_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_207_258_Open_Text><SPAN style="COLOR: #008000">/*</SPAN><SPAN style="COLOR: #008000">*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*&nbsp;@author&nbsp;HexUzHoNG&nbsp;Created&nbsp;on&nbsp;2005-6-20<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;*<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_288_764_Open_Image onclick="this.style.display='none'; Codehighlighter1_288_764_Open_Text.style.display='none'; Codehighlighter1_288_764_Closed_Image.style.display='inline'; Codehighlighter1_288_764_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_288_764_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_288_764_Closed_Text.style.display='none'; Codehighlighter1_288_764_Open_Image.style.display='inline'; Codehighlighter1_288_764_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;FillLayoutDemo&nbsp;</SPAN><SPAN id=Codehighlighter1_288_764_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_288_764_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_332_760_Open_Image onclick="this.style.display='none'; Codehighlighter1_332_760_Open_Text.style.display='none'; Codehighlighter1_332_760_Closed_Image.style.display='inline'; Codehighlighter1_332_760_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_332_760_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_332_760_Closed_Text.style.display='none'; Codehighlighter1_332_760_Open_Image.style.display='inline'; Codehighlighter1_332_760_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</SPAN><SPAN id=Codehighlighter1_332_760_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_332_760_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Display();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shell&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell(display);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setSize(</SPAN><SPAN style="COLOR: #000000">300</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">200</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setLayout(</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;FillLayout(SWT.HORIZONTAL));<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">one</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">two</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.PUSH).setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">three</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open();<BR><IMG id=Codehighlighter1_669_736_Open_Image onclick="this.style.display='none'; Codehighlighter1_669_736_Open_Text.style.display='none'; Codehighlighter1_669_736_Closed_Image.style.display='inline'; Codehighlighter1_669_736_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_669_736_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_669_736_Closed_Text.style.display='none'; Codehighlighter1_669_736_Open_Image.style.display='inline'; Codehighlighter1_669_736_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">shell.isDisposed())&nbsp;</SPAN><SPAN id=Codehighlighter1_669_736_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_669_736_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_706_732_Open_Image onclick="this.style.display='none'; Codehighlighter1_706_732_Open_Text.style.display='none'; Codehighlighter1_706_732_Closed_Image.style.display='inline'; Codehighlighter1_706_732_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_706_732_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_706_732_Closed_Text.style.display='none'; Codehighlighter1_706_732_Open_Image.style.display='inline'; Codehighlighter1_706_732_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">display.readAndDispatch())&nbsp;</SPAN><SPAN id=Codehighlighter1_706_732_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_706_732_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.blogjava.net/hexuzhong/aggbug/6553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-06-22 16:54 <a href="http://www.blogjava.net/hexuzhong/archive/2005/06/22/6553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>模仿MSN用户上线popup的例子</title><link>http://www.blogjava.net/hexuzhong/archive/2005/04/24/3684.html</link><dc:creator>HexUzHoNG</dc:creator><author>HexUzHoNG</author><pubDate>Sun, 24 Apr 2005 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/hexuzhong/archive/2005/04/24/3684.html</guid><wfw:comment>http://www.blogjava.net/hexuzhong/comments/3684.html</wfw:comment><comments>http://www.blogjava.net/hexuzhong/archive/2005/04/24/3684.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hexuzhong/comments/commentRss/3684.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hexuzhong/services/trackbacks/3684.html</trackback:ping><description><![CDATA[<P>这是上学期j2se期末聊天室项目中的模访msn, qq上线提示功能. 写得很烂,只是简单的实现了而已.<IMG height=153 alt=o_img1.gif src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_img1.gif" width=219 border=0>&nbsp;<IMG height=153 alt=o_img2.gif src="http://www.blogjava.net/images/blogjava_net/hexuzhong/1137/o_img2.gif" width=222 border=0></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;Test.java</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.events.SelectionAdapter;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.events.SelectionEvent;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Button;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_272_923_Open_Image onclick="this.style.display='none'; Codehighlighter1_272_923_Open_Text.style.display='none'; Codehighlighter1_272_923_Closed_Image.style.display='inline'; Codehighlighter1_272_923_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_272_923_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_272_923_Closed_Text.style.display='none'; Codehighlighter1_272_923_Open_Image.style.display='inline'; Codehighlighter1_272_923_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;Test&nbsp;</SPAN><SPAN id=Codehighlighter1_272_923_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_272_923_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_315_921_Open_Image onclick="this.style.display='none'; Codehighlighter1_315_921_Open_Text.style.display='none'; Codehighlighter1_315_921_Closed_Image.style.display='inline'; Codehighlighter1_315_921_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_315_921_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_315_921_Closed_Text.style.display='none'; Codehighlighter1_315_921_Open_Image.style.display='inline'; Codehighlighter1_315_921_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</SPAN><SPAN id=Codehighlighter1_315_921_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_315_921_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;final&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Display();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Shell&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">aaa</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.setSize(</SPAN><SPAN style="COLOR: #000000">250</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">150</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;final&nbsp;Button&nbsp;button&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Button(shell,&nbsp;SWT.NONE);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;button.setBounds(</SPAN><SPAN style="COLOR: #000000">50</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">20</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">25</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;button.setText(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">button</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_617_772_Open_Image onclick="this.style.display='none'; Codehighlighter1_617_772_Open_Text.style.display='none'; Codehighlighter1_617_772_Closed_Image.style.display='inline'; Codehighlighter1_617_772_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_617_772_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_617_772_Closed_Text.style.display='none'; Codehighlighter1_617_772_Open_Image.style.display='inline'; Codehighlighter1_617_772_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;button.addSelectionListener(</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;SelectionAdapter()&nbsp;</SPAN><SPAN id=Codehighlighter1_617_772_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_617_772_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_667_768_Open_Image onclick="this.style.display='none'; Codehighlighter1_667_768_Open_Text.style.display='none'; Codehighlighter1_667_768_Closed_Image.style.display='inline'; Codehighlighter1_667_768_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_667_768_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_667_768_Closed_Text.style.display='none'; Codehighlighter1_667_768_Open_Image.style.display='inline'; Codehighlighter1_667_768_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;widgetSelected(SelectionEvent&nbsp;e)&nbsp;</SPAN><SPAN id=Codehighlighter1_667_768_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_667_768_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">click</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Popup&nbsp;popup&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Popup(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">您的好友xxx上线了。</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;popup.start();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.open();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG id=Codehighlighter1_830_897_Open_Image onclick="this.style.display='none'; Codehighlighter1_830_897_Open_Text.style.display='none'; Codehighlighter1_830_897_Closed_Image.style.display='inline'; Codehighlighter1_830_897_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_830_897_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_830_897_Closed_Text.style.display='none'; Codehighlighter1_830_897_Open_Image.style.display='inline'; Codehighlighter1_830_897_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">shell.isDisposed())&nbsp;</SPAN><SPAN id=Codehighlighter1_830_897_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_830_897_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_867_893_Open_Image onclick="this.style.display='none'; Codehighlighter1_867_893_Open_Text.style.display='none'; Codehighlighter1_867_893_Closed_Image.style.display='inline'; Codehighlighter1_867_893_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_867_893_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_867_893_Closed_Text.style.display='none'; Codehighlighter1_867_893_Open_Image.style.display='inline'; Codehighlighter1_867_893_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">display.readAndDispatch())&nbsp;</SPAN><SPAN id=Codehighlighter1_867_893_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_867_893_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;display.sleep();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;display.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">Popup.java</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.SWT;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.graphics.Rectangle;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Display;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;org.eclipse.swt.widgets.Text;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_1162_2373_Open_Image onclick="this.style.display='none'; Codehighlighter1_1162_2373_Open_Text.style.display='none'; Codehighlighter1_1162_2373_Closed_Image.style.display='inline'; Codehighlighter1_1162_2373_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1162_2373_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1162_2373_Closed_Text.style.display='none'; Codehighlighter1_1162_2373_Open_Image.style.display='inline'; Codehighlighter1_1162_2373_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;Popup&nbsp;extends&nbsp;Thread&nbsp;</SPAN><SPAN id=Codehighlighter1_1162_2373_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1162_2373_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;Shell&nbsp;shell;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;moveStep&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;upPosition;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;downPosition;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;leftPosition;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_1331_1786_Open_Image onclick="this.style.display='none'; Codehighlighter1_1331_1786_Open_Text.style.display='none'; Codehighlighter1_1331_1786_Closed_Image.style.display='inline'; Codehighlighter1_1331_1786_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1331_1786_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1331_1786_Closed_Text.style.display='none'; Codehighlighter1_1331_1786_Open_Image.style.display='inline'; Codehighlighter1_1331_1786_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;Popup(final&nbsp;String&nbsp;message)&nbsp;</SPAN><SPAN id=Codehighlighter1_1331_1786_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1331_1786_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Shell(SWT.ON_TOP);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Text&nbsp;text&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Text(shell,&nbsp;SWT.MULTI&nbsp;</SPAN><SPAN style="COLOR: #000000">|</SPAN><SPAN style="COLOR: #000000">&nbsp;SWT.WRAP);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;text.setBounds(</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">20</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">180</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">80</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;text.setBackground(shell.getBackground());&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;text.setText(message);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Rectangle&nbsp;area&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;Display.getDefault().getClientArea();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;upPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;area.height&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;downPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;area.height&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;leftPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;area.width&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">180</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.setSize(</SPAN><SPAN style="COLOR: #000000">180</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">100</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.setLocation(leftPosition,&nbsp;downPosition);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;shell.open();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_1808_2371_Open_Image onclick="this.style.display='none'; Codehighlighter1_1808_2371_Open_Text.style.display='none'; Codehighlighter1_1808_2371_Closed_Image.style.display='inline'; Codehighlighter1_1808_2371_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1808_2371_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1808_2371_Closed_Text.style.display='none'; Codehighlighter1_1808_2371_Open_Image.style.display='inline'; Codehighlighter1_1808_2371_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;run()&nbsp;</SPAN><SPAN id=Codehighlighter1_1808_2371_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1808_2371_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Display&nbsp;display&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;shell.getDisplay();<BR><IMG id=Codehighlighter1_1866_2368_Open_Image onclick="this.style.display='none'; Codehighlighter1_1866_2368_Open_Text.style.display='none'; Codehighlighter1_1866_2368_Closed_Image.style.display='inline'; Codehighlighter1_1866_2368_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1866_2368_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1866_2368_Closed_Text.style.display='none'; Codehighlighter1_1866_2368_Open_Image.style.display='inline'; Codehighlighter1_1866_2368_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">true</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN id=Codehighlighter1_1866_2368_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1866_2368_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_1875_2301_Open_Image onclick="this.style.display='none'; Codehighlighter1_1875_2301_Open_Text.style.display='none'; Codehighlighter1_1875_2301_Closed_Image.style.display='inline'; Codehighlighter1_1875_2301_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1875_2301_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1875_2301_Closed_Text.style.display='none'; Codehighlighter1_1875_2301_Open_Image.style.display='inline'; Codehighlighter1_1875_2301_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_1875_2301_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1875_2301_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">);<BR><IMG id=Codehighlighter1_1947_2151_Open_Image onclick="this.style.display='none'; Codehighlighter1_1947_2151_Open_Text.style.display='none'; Codehighlighter1_1947_2151_Closed_Image.style.display='inline'; Codehighlighter1_1947_2151_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1947_2151_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1947_2151_Closed_Text.style.display='none'; Codehighlighter1_1947_2151_Open_Image.style.display='inline'; Codehighlighter1_1947_2151_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;((downPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">&nbsp;moveStep)&nbsp;</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">&nbsp;upPosition)&nbsp;</SPAN><SPAN id=Codehighlighter1_1947_2151_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1947_2151_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_1987_2143_Open_Image onclick="this.style.display='none'; Codehighlighter1_1987_2143_Open_Text.style.display='none'; Codehighlighter1_1987_2143_Closed_Image.style.display='inline'; Codehighlighter1_1987_2143_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_1987_2143_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1987_2143_Closed_Text.style.display='none'; Codehighlighter1_1987_2143_Open_Image.style.display='inline'; Codehighlighter1_1987_2143_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.asyncExec(</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Runnable()&nbsp;</SPAN><SPAN id=Codehighlighter1_1987_2143_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1987_2143_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_2013_2136_Open_Image onclick="this.style.display='none'; Codehighlighter1_2013_2136_Open_Text.style.display='none'; Codehighlighter1_2013_2136_Closed_Image.style.display='inline'; Codehighlighter1_2013_2136_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2013_2136_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2013_2136_Closed_Text.style.display='none'; Codehighlighter1_2013_2136_Open_Image.style.display='inline'; Codehighlighter1_2013_2136_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;run()&nbsp;</SPAN><SPAN id=Codehighlighter1_2013_2136_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2013_2136_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setLocation(<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leftPosition,<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">-</SPAN><SPAN style="COLOR: #000000">&nbsp;moveStep);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downPosition&nbsp;</SPAN><SPAN style="COLOR: #000000">-=</SPAN><SPAN style="COLOR: #000000">&nbsp;moveStep;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">);<BR><IMG id=Codehighlighter1_2158_2296_Open_Image onclick="this.style.display='none'; Codehighlighter1_2158_2296_Open_Text.style.display='none'; Codehighlighter1_2158_2296_Closed_Image.style.display='inline'; Codehighlighter1_2158_2296_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2158_2296_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2158_2296_Closed_Text.style.display='none'; Codehighlighter1_2158_2296_Open_Image.style.display='inline'; Codehighlighter1_2158_2296_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_2158_2296_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2158_2296_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(</SPAN><SPAN style="COLOR: #000000">5000</SPAN><SPAN style="COLOR: #000000">);<BR><IMG id=Codehighlighter1_2223_2288_Open_Image onclick="this.style.display='none'; Codehighlighter1_2223_2288_Open_Text.style.display='none'; Codehighlighter1_2223_2288_Closed_Image.style.display='inline'; Codehighlighter1_2223_2288_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2223_2288_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2223_2288_Closed_Text.style.display='none'; Codehighlighter1_2223_2288_Open_Image.style.display='inline'; Codehighlighter1_2223_2288_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.asyncExec(</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Runnable()&nbsp;</SPAN><SPAN id=Codehighlighter1_2223_2288_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2223_2288_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_2249_2281_Open_Image onclick="this.style.display='none'; Codehighlighter1_2249_2281_Open_Text.style.display='none'; Codehighlighter1_2249_2281_Closed_Image.style.display='inline'; Codehighlighter1_2249_2281_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2249_2281_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2249_2281_Closed_Text.style.display='none'; Codehighlighter1_2249_2281_Open_Image.style.display='inline'; Codehighlighter1_2249_2281_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;run()&nbsp;</SPAN><SPAN id=Codehighlighter1_2249_2281_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2249_2281_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.dispose();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_2334_2364_Open_Image onclick="this.style.display='none'; Codehighlighter1_2334_2364_Open_Text.style.display='none'; Codehighlighter1_2334_2364_Closed_Image.style.display='inline'; Codehighlighter1_2334_2364_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2334_2364_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2334_2364_Closed_Text.style.display='none'; Codehighlighter1_2334_2364_Open_Image.style.display='inline'; Codehighlighter1_2334_2364_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">&nbsp;(InterruptedException&nbsp;e)&nbsp;</SPAN><SPAN id=Codehighlighter1_2334_2364_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2334_2364_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.blogjava.net/hexuzhong/aggbug/3684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hexuzhong/" target="_blank">HexUzHoNG</a> 2005-04-24 10:20 <a href="http://www.blogjava.net/hexuzhong/archive/2005/04/24/3684.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>