﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-姐夫的唠叨</title><link>http://www.blogjava.net/kingLv/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 21 Jun 2026 10:07:41 GMT</lastBuildDate><pubDate>Sun, 21 Jun 2026 10:07:41 GMT</pubDate><ttl>60</ttl><item><title>C语言学习笔记（一）</title><link>http://www.blogjava.net/kingLv/articles/250920.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Mon, 12 Jan 2009 01:31:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/250920.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/250920.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/250920.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/250920.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/250920.html</trackback:ping><description><![CDATA[c语言中有一种特殊的语言构造：预处理语句。预处理语句是由'#'开始，后跟一个预处理指令以及一个或多个参数的语句，预处理语句只能独占一行，如果需要跨多行，需要在换行之前使用一个'\'，在编译器的预处理阶段，当预处理器碰到一个'\'后面紧跟一个换行符时，预处理器会同时把这两个字符给删除。<br />
<br />
include预处理指令是用来包含其它文件的，通常用来包含一些以 h 为后缀名的头文件，当然也可以包含c语言成语的源文件。include指令有两种语法:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;file&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include "file"<br />
<br />
预处理器会使用文件file的内容来替换这两条include语句。<br />
<br />
第一种语法用于包含系统包含路径中的文件，第二中语法在搜索系统路径之前会先在包含文件的当前目录下查找。在第二种语法中，文件名可以包含目录，当包含目录时，预处理器只会在包含文件的当前目录下查找。<br />
<br />
在include语句中可以使用宏，但必须保证在预处理这条include指令时，语句中所使用的宏，有确切的值。<br />
<br />
例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #define INC_FILE "myProject.h"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include INC_FILE<br />
<br />
这两条语句经过预处理器处理之后会生成如下的语句:<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include "myProject.h"<br />
<br />
最终，预处理器会使用myProject.h文件的内容来替换这条语句。<br />
<br />
include指令是可以嵌套的，即被包含的文件中也可以使用include预处理语句包含其它文件，这种嵌套最多可以有15层。这样就很有可能出现在一个文件中多次包含了同一个文件。<br />
<br />
为了避免这种情况，可以使用另一个种预处理语句：条件编译。可以在被包含的文件中，使用条件编译。<br />
<br />
避免重复包含<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #ifndefine _INCFILE_H_<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #define _INCFILE_H_<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 文件的内容 */<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endif<br />
<img src ="http://www.blogjava.net/kingLv/aggbug/250920.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2009-01-12 09:31 <a href="http://www.blogjava.net/kingLv/articles/250920.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vim 学习笔记(二)</title><link>http://www.blogjava.net/kingLv/articles/240708.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Sat, 15 Nov 2008 11:30:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/240708.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/240708.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/240708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/240708.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/240708.html</trackback:ping><description><![CDATA[vim 有两种模式：命令模式和编辑模式。一旦使用 vi 命令进入到 vi 编辑器中，你当前就在命令模式，此时 vi 等待你输入命令。有很多命令能够把光标移动到文件中的任何位置、进入到编辑模式，或是退出 vi。<br />
<br />
从命令模式进入到编辑模式有多种方式，最简单常用的就是使用命令 i，在键盘上按下 i 键，此时i 不会显示在屏幕上，但在此之后输入的任何内容都会显示在屏幕上，并会被保存到缓冲区中。光标标示了可以插入的位置。当按下 ESC 后，vi 会退出编辑模式，回到命令模式，光标会回退一个字符的位置，此时光标落在最后输入的字符上。如果不清楚此时是在命令模式下还是编辑模式下，可以连续按 ESC 两次，当听到报警声时（不会伤害你的电脑，只是主板报警），说明你已经在命令模式了。<br />
<br />
<img src ="http://www.blogjava.net/kingLv/aggbug/240708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2008-11-15 19:30 <a href="http://www.blogjava.net/kingLv/articles/240708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vim 学习笔记(一)</title><link>http://www.blogjava.net/kingLv/articles/239738.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Mon, 10 Nov 2008 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/239738.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/239738.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/239738.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/239738.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/239738.html</trackback:ping><description><![CDATA[<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vi 是 Linux 及 Unix 的标准文本编辑器，vim 则是其改进版本，最新版本为 7.2 (2008-11-10)，其官方网站为： www.vim.org，它不仅有 Linux 及 Unix 版本，还有 Windows 版本，感兴趣的朋友可以到其官方网站下载。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在学习 Linux 的时候难免会编辑一些配置文件，vi 则是极好的文本编辑器。最近在读《Learning the vi and vim Editors, seven edition》，顺便做点笔记（更多的是翻译），在此和那些希望学习 vi 的朋友分享。如果有朋友也想读这本书，我可以通过E－Mail发给你。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天先来看看使用 vi 如何打开一个文本文件，保存并退出。请务必记住，vi 是一个文本编辑器，它只能编辑纯文本文件。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用 vi 打开一个文件时，vi 会把这个文件的内容复制到一个缓冲区，并把文件的内容显示在显示器上以供用户编辑。注意，在使用 vi 编辑文件时，所做的任何编辑都是在这个缓冲区中进行的，在用户指示 vi 把文件写到文件系统之前，所做的任何修改都不会影响到文件系统中的文件。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 Linux 中使用如下命令使 vi 打开一个文件:<br />
<br />
<div align="center"><img alt="" src="http://www.blogjava.net/images/blogjava_net/kinglv/open.jpg" height="19" width="103" /></div>
<br />
在上面的命令行中，vi 会使 Linux 启动 vi 编辑器，后面的 a.txt 是打开的文件名，按回车就会打开 文件 a.txt：<br />
<br />
<div align="center"><img alt="" src="http://www.blogjava.net/images/blogjava_net/kinglv/window.jpg" height="197" width="657" /></div>
<br />
如上图所示，每一行前面都有一个 ~，这表示这一行是空行，没有任何内容，因为打开的是一个新文件，在窗口的左下角可以看到，前面是文件的名称，后面用方括号括起来的说明这是一个新文件。在使用 vi 打开一个文件的时候，可以指定相对路径名，也可以指定绝对路径名。在上面的示例中使用的是相对路径名，也可以使用：<strong> vi /home/guest/a.txt</strong> 来打开这个文件，在这个命令中使用的是绝对路径名。<br />
<br />
如何使用 vi 进行编辑后面再说，下面要做的就是如何保存并退出 vi。可以使用如下的命令：<br />
<br />
<div align="center">ZZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保存并退出 vi<br />
</div>
<br />
在键盘上连续按 Z 两下，vi 就会把对文件的修改写到文件系统中并退出 vi。注意，上面的命令 Z 是大写的，因为 Linux 是区分大小写的系统，所以必须得大写，不然会报错。<br />
<br />
当然也可以保存所做的修改，直接退出 vi，这可以使用命令 <strong>:q!</strong>，一个冒号，后面是一个小写的 q，最后是一个感叹号!。感叹号的意思是强制 vi 不保存退出。<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/kingLv/aggbug/239738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2008-11-10 21:09 <a href="http://www.blogjava.net/kingLv/articles/239738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux 帐户管理相关的命令</title><link>http://www.blogjava.net/kingLv/articles/239392.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Sat, 08 Nov 2008 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/239392.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/239392.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/239392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/239392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/239392.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户帐号管理是 Linux 下日常管理非常重要的一个环节，对于 Linux 系统管理员来说尤其重要。下面所列的命令是 Linux 日常用户帐号管理中经常会使用到的一些命令，在此仅列出命令本身及其用途，关于命令的使用方法可以使用 man 来查询。<br />
<br />
<blockquote>useradd 添加一个新的用户帐号<br />
usermod 修改已有用户帐号的相内容<br />
userdel 删除系统中的一个用户帐号<br />
</blockquote><br />
<blockquote>groupadd 添加一个新的用户组<br />
groupmod 修改已有的一个用户组<br />
groupdel 删除系统中的一个用户组<br />
</blockquote><br />
<blockquote>passwd 设置或者修改某一用户帐号的密码<br />
gpasswd 设置或者修改系统中某一用户组的密码<br />
</blockquote><br />
Linux 以前是把用户帐号和用户组的相关信息包括用户帐号的密码以及用户组的密码分别存放在 /etc/passwd 和 /ect/group文件中，后来为了安全起见，把用户帐号的密码和用户组的密码提取出来放在一个独立的文件中，分别是 /etc/shadow 和 /etc/gshadow。Linux 提供了相应的命令在这两种密码存放策略之间进行相互转换。<br />
<br />
<blockquote>pwconv 把旧的用户帐号密码策略转换为新的策略，即从 /etc/passwd 文件中，把密码提取出来，保存到新的 /etc/shadow文件中<br />
pwunconv 执行 pwconv的逆操作，把 /etc/shadow 文件中的密码合并到 /etc/passwd 文件中<br />
</blockquote><br />
<blockquote>grpconv 把旧的用户组密码策略转换为新的策略，即把 /etc/group 文件中的用户组密码提取出来，存放到 /etc/gshadow 文件中<br />
grpunconv 执行gpwconv的逆擦作，把 /etc/gshadow 文件中的密码合并到 /etc/gshadow 文件中<br />
</blockquote><br />
<br />
<blockquote>chage 修改用户帐号密码<strong></strong>的使用时限<br />
</blockquote><br />
<strong></strong><br />
<br />
<img src ="http://www.blogjava.net/kingLv/aggbug/239392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2008-11-08 12:24 <a href="http://www.blogjava.net/kingLv/articles/239392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java nio教程</title><link>http://www.blogjava.net/kingLv/articles/239386.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Sat, 08 Nov 2008 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/239386.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/239386.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/239386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/239386.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/239386.html</trackback:ping><description><![CDATA[<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从ibm developerworks下载了一篇关于Java nio的教程，感觉很不错，在这里跟大家分享，希望对需要的朋友有所帮助<br />
<br />
<blockquote><blockquote><a title="Java nio教程" id="nio" href="/Files/kingLv/j-nio.zip">Java nio教程</a><br />
</blockquote></blockquote>
<br />
<img src ="http://www.blogjava.net/kingLv/aggbug/239386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2008-11-08 11:57 <a href="http://www.blogjava.net/kingLv/articles/239386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在SWT Table 单元格中绘制渐变效果</title><link>http://www.blogjava.net/kingLv/articles/239354.html</link><dc:creator>姐夫的唠叨</dc:creator><author>姐夫的唠叨</author><pubDate>Fri, 07 Nov 2008 16:33:00 GMT</pubDate><guid>http://www.blogjava.net/kingLv/articles/239354.html</guid><wfw:comment>http://www.blogjava.net/kingLv/comments/239354.html</wfw:comment><comments>http://www.blogjava.net/kingLv/articles/239354.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kingLv/comments/commentRss/239354.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kingLv/services/trackbacks/239354.html</trackback:ping><description><![CDATA[<p style="font-size: 14pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
</p>
<p style="font-size: 14pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在日常的系统开发中，swt的table以及tree是最常用的两种复杂控件，如果使用最原始的swt中的table，使用起来是比较的繁琐，幸好Eclipse在jface给我们提供了viewer框架，极大地简化了table和tree这两种复杂控件的使用。在最近开发的一个新的模块中，关于table遇到了一个新的case。table的某一列显示的一个百分比，要求在这一列除了显示百分比之外，还要使用渐变的背景，来可视化地显示，效果类似于<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
<div align="center"><img alt="" src="http://www.blogjava.net/images/blogjava_net/kinglv/1.jpg" width="154" height="64" /></div>
<br />
花了一点时间终于做出来了，在此跟大家分享一下。具体的做法就是使用GC自己在table上把背景以及单元格中显示的内容给画出来。<br />
<br />
<p>&nbsp;</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #008080;">&nbsp;1</span><img id="Codehighlighter1_28_1797_Open_Image" onclick="this.style.display='none'; Codehighlighter1_28_1797_Open_Text.style.display='none'; Codehighlighter1_28_1797_Closed_Image.style.display='inline'; Codehighlighter1_28_1797_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_28_1797_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_28_1797_Closed_Text.style.display='none'; Codehighlighter1_28_1797_Open_Image.style.display='inline'; Codehighlighter1_28_1797_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;PaintTableCell&nbsp;</span><span id="Codehighlighter1_28_1797_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_28_1797_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;2</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
</span><span style="color: #008080;">&nbsp;3</span><span style="color: #000000;"><img id="Codehighlighter1_71_1795_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_1795_Open_Text.style.display='none'; Codehighlighter1_71_1795_Closed_Image.style.display='inline'; Codehighlighter1_71_1795_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_71_1795_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_71_1795_Closed_Text.style.display='none'; Codehighlighter1_71_1795_Open_Image.style.display='inline'; Codehighlighter1_71_1795_Open_Text.style.display='inline';" alt="" 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_71_1795_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_71_1795_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">&nbsp;4</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;Display&nbsp;display&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Display.getDefault();<br />
</span><span style="color: #008080;">&nbsp;5</span><span style="color: #000000;"><img alt="" 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 />
</span><span style="color: #008080;">&nbsp;6</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.setText(</span><span style="color: #000000;">"</span><span style="color: #000000;">Paint&nbsp;Table&nbsp;Cell</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;7</span><span style="color: #000000;"><img alt="" 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;">500</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;8</span><span style="color: #000000;"><img alt="" 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());<br />
</span><span style="color: #008080;">&nbsp;9</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;Table&nbsp;table&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Table(shell,&nbsp;SWT.FULL_SELECTION&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;SWT.SINGLE);<br />
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.setHeaderVisible(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.setLinesVisible(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableColumn&nbsp;column1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TableColumn(table,&nbsp;SWT.NONE);<br />
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column1.setWidth(</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column1.setAlignment(SWT.LEFT);<br />
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column1.setText(</span><span style="color: #000000;">"</span><span style="color: #000000;">Column&nbsp;1</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableColumn&nbsp;column2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TableColumn(table,&nbsp;SWT.NONE);<br />
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column2.setWidth(</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">21</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column2.setAlignment(SWT.RIGHT);<br />
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column2.setText(</span><span style="color: #000000;">"</span><span style="color: #000000;">Column&nbsp;2</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">23</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableItem&nbsp;item1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TableItem(table,&nbsp;SWT.NONE);<br />
</span><span style="color: #008080;">25</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item1.setText(</span><span style="color: #000000;">"</span><span style="color: #000000;">item&nbsp;11</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">26</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">27</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableItem&nbsp;item2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TableItem(table,&nbsp;SWT.NONE);<br />
</span><span style="color: #008080;">28</span><span style="color: #000000;"><img id="Codehighlighter1_867_888_Open_Image" onclick="this.style.display='none'; Codehighlighter1_867_888_Open_Text.style.display='none'; Codehighlighter1_867_888_Closed_Image.style.display='inline'; Codehighlighter1_867_888_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_867_888_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_867_888_Closed_Text.style.display='none'; Codehighlighter1_867_888_Open_Image.style.display='inline'; Codehighlighter1_867_888_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;item2.setText(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;String[]&nbsp;</span><span id="Codehighlighter1_867_888_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_867_888_Open_Text"><span style="color: #000000;">{</span><span style="color: #000000;">"</span><span style="color: #000000;">item&nbsp;21</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">item&nbsp;22</span><span style="color: #000000;">"</span><span style="color: #000000;">}</span></span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">29</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">30</span><span style="color: #000000;"><img id="Codehighlighter1_940_1649_Open_Image" onclick="this.style.display='none'; Codehighlighter1_940_1649_Open_Text.style.display='none'; Codehighlighter1_940_1649_Closed_Image.style.display='inline'; Codehighlighter1_940_1649_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_940_1649_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_940_1649_Closed_Text.style.display='none'; Codehighlighter1_940_1649_Open_Image.style.display='inline'; Codehighlighter1_940_1649_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.addPaintListener(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;PaintListener()&nbsp;</span><span id="Codehighlighter1_940_1649_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_940_1649_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">31</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br />
</span><span style="color: #008080;">32</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
</span><span style="color: #008080;">33</span><span style="color: #000000;"><img id="Codehighlighter1_998_1641_Open_Image" onclick="this.style.display='none'; Codehighlighter1_998_1641_Open_Text.style.display='none'; Codehighlighter1_998_1641_Closed_Image.style.display='inline'; Codehighlighter1_998_1641_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_998_1641_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_998_1641_Closed_Text.style.display='none'; Codehighlighter1_998_1641_Open_Image.style.display='inline'; Codehighlighter1_998_1641_Open_Text.style.display='inline';" alt="" 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;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;paintControl(PaintEvent&nbsp;e)&nbsp;</span><span id="Codehighlighter1_998_1641_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_998_1641_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">34</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #008000;">//</span><span style="color: #008000;">获得单元格的位置</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">35</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rectangle&nbsp;rect&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;table.getItem(</span><span style="color: #000000;">0</span><span style="color: #000000;">).getBounds(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">36</span><span style="color: #000000;"><img alt="" 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;<br />
</span><span style="color: #008080;">37</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #008000;">//</span><span style="color: #008000;">计算需要绘制渐变效果的长度</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">38</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;width&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;rect.width&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">67</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">67%</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">39</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">40</span><span style="color: #000000;"><img alt="" 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;GC&nbsp;gc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;e.gc;<br />
</span><span style="color: #008080;">41</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #008000;">//</span><span style="color: #008000;">设置GC的背景色和前景色</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">42</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc.setForeground(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(display,&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">192</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">));<br />
</span><span style="color: #008080;">43</span><span style="color: #000000;"><img alt="" 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;gc.setBackground(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(display,&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">230</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">151</span><span style="color: #000000;">));<br />
</span><span style="color: #008080;">44</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #008000;">//</span><span style="color: #008000;">绘制渐变效果</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">45</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gc.fillGradientRectangle(rect.x,&nbsp;rect.y,&nbsp;width,&nbsp;rect.height,&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">46</span><span style="color: #000000;"><img alt="" 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;<br />
</span><span style="color: #008080;">47</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #008000;">//</span><span style="color: #008000;">绘制单元格中的文字</span><span style="color: #008000;"><br />
</span><span style="color: #008080;">48</span><span style="color: #008000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;text&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">item&nbsp;12</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
</span><span style="color: #008080;">49</span><span style="color: #000000;"><img alt="" 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;gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));<br />
</span><span style="color: #008080;">50</span><span style="color: #000000;"><img alt="" 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;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;pixels&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;gc.getFontMetrics().getAverageCharWidth()&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;text.length();<br />
</span><span style="color: #008080;">51</span><span style="color: #000000;"><img alt="" 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;gc.drawString(text,&nbsp;rect.x&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;rect.width&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;pixels&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">,&nbsp;rect.y,&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">52</span><span style="color: #000000;"><img alt="" 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 />
</span><span style="color: #008080;">53</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">54</span><span style="color: #000000;"><img alt="" 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;">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">55</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">56</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell.open();<br />
</span><span style="color: #008080;">57</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">58</span><span style="color: #000000;"><img id="Codehighlighter1_1705_1771_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1705_1771_Open_Text.style.display='none'; Codehighlighter1_1705_1771_Closed_Image.style.display='inline'; Codehighlighter1_1705_1771_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1705_1771_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_1705_1771_Closed_Text.style.display='none'; Codehighlighter1_1705_1771_Open_Image.style.display='inline'; Codehighlighter1_1705_1771_Open_Text.style.display='inline';" alt="" 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;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">shell.isDisposed())&nbsp;</span><span id="Codehighlighter1_1705_1771_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1705_1771_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">59</span><span style="color: #000000;"><img id="Codehighlighter1_1741_1767_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1741_1767_Open_Text.style.display='none'; Codehighlighter1_1741_1767_Closed_Image.style.display='inline'; Codehighlighter1_1741_1767_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1741_1767_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_1741_1767_Closed_Text.style.display='none'; Codehighlighter1_1741_1767_Open_Image.style.display='inline'; Codehighlighter1_1741_1767_Open_Text.style.display='inline';" alt="" 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;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">display.readAndDispatch())&nbsp;</span><span id="Codehighlighter1_1741_1767_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1741_1767_Open_Text"><span style="color: #000000;">{<br />
</span><span style="color: #008080;">60</span><span style="color: #000000;"><img alt="" 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 />
</span><span style="color: #008080;">61</span><span style="color: #000000;"><img alt="" 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 />
</span><span style="color: #008080;">62</span><span style="color: #000000;"><img alt="" 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 />
</span><span style="color: #008080;">63</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.dispose();<br />
</span><span style="color: #008080;">64</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
</span><span style="color: #008080;">65</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000;"><br />
</span><span style="color: #008080;">66</span><span style="color: #000000;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<p style="font-size: 14pt;">显示效果如下<br />
</p>
<div align="center"><img alt="" src="http://www.blogjava.net/images/blogjava_net/kinglv/2.jpg" width="149" height="67" /></div>
<div align="center"></div>
<br />
<p><br />
</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/kingLv/aggbug/239354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kingLv/" target="_blank">姐夫的唠叨</a> 2008-11-08 00:33 <a href="http://www.blogjava.net/kingLv/articles/239354.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>