定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面 - 编程入门网
窗体,Region 不直接提供函数,只能通过坐标数组来实现。
如图所示,圆形是通过一组逆时针连接而成的点构成,各个点可以有园半径,圆心坐标推算而成。A1 的坐标是 (Xo-r, Yo). An 的 X 坐标是 XAn=Xo-r+n,Y 坐标是 YAn=Yo+R。 图 3. 园 定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面(3)时间:2012-02-26 IBM 饶有清生成圆形坐标数组的函数代码如下: 清单 2. 生成圆形坐标数组的函数代码
有了这些定义图形的函数,我们就可以创建一个 Region 对象用于定义窗体的外形。首先我们定义一个缺省的 Region 对象,然后加入定义好的图形。这些图形可以叠加在一起形成多边形外形;也可以剔除一块图形。 下面是示例的完整代码。首先生成一个 Display 对象,然后用 Display 对象创建一个 Shell。注意需要定义成无装饰风格的窗口。再后就是创建 Region 对象来定义一个图形形状,通过 shell.setRegion 来设置窗口外形,最后是显示 Shell。Region 在使用完后必须要跟 Display 对象一样被释放。 清单 3. 示例的完整代码
通过运行这段代码,可以得到自己定义的多边形窗口界面。 图 4. 多边形窗口 定制SWT/RCP界面:如何编写一个漂亮的SWT/RCP界面(4)时间:2012-02-26 IBM 饶有清Control(控件)多边形外形只有在最近的 Eclipse 版本支持该功能。下面代码是通过另外一种非常规的手段来实现多边形小部件的,通过图片来显示小部件边界。程序首先定义一个 BUTTON 按钮,然后设置按钮的图片,让按钮大小约大于图片。为了只让图片显示,而不显示按钮,我们需要创建一个 Region,设置相应的偏移,使 Region 刚好覆盖要显示的图片。 清单 4. 实现多边形小部件
图 5. 多边形 Control 图 1.5 说明了其中原因,如果要创 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |