定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面
2010-04-26 00:00:00 来源:WEB开发网Region 类里面也提供了直接生成矩形的函数 add(Rectangle rect)和 add(int x, int y, int width, int height)。如果要生成不规则的窗体,如圆形,或者其他形状的窗体,Region 不直接提供函数,只能通过坐标数组来实现。
如图所示,圆形是通过一组逆时针连接而成的点构成,各个点可以有园半径,圆心坐标推算而成。A1 的坐标是 (Xo-r, Yo). An 的 X 坐标是 XAn=Xo-r+n,Y 坐标是 YAn=Yo+R。
图 3. 园
生成圆形坐标数组的函数代码如下:
清单 2. 生成圆形坐标数组的函数代码
int[] circle(int r, int offsetX, int offsetY) {
int[] ring = new int[8 * r + 4];
// x^2 + y^2 = r^2
for (int i = 0; i < 2 * r + 1; i++) {
int x = i - r;
int y = (int) Math.sqrt(r * r - x * x);
ring [2 * i] = offsetX + x;
ring [2 * i + 1] = offsetY + y;
ring [8 * r - 2 * i - 2] = offsetX + x;
ring [8 * r - 2 * i - 1] = offsetY - y;
}
return ring;
}
有了这些定义图形的函数,我们就可以创建一个 Region 对象用于定义窗体的外形。首先我们定义一个缺省的 Region 对象,然后加入定义好的图形。这些图形可以叠加在一起形成多边形外形;也可以剔除一块图形。
- ››定制个性化的对话框窗口类
- ››定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ...
- ››定制基于 Visual studio 2005 平台 Windows CE(AR...
- ››定制版黑雨 blackra1n 越狱3.1.2 全系 iPhone
- ››RCP客户端实现保存不同用户的界面状态
- ››定制 Eclipse RCP 应用程序,第 1 部分: 可与 SWT...
- ››SWT 全接触
- ››定制AIX操作系统的shell环境
- ››定制任务栏上的系统菜单
- ››SWT/JFace开发入门指南之搭建开发环境
- ››定制一个灵活的struts框架
- ››RCPII:扩展通用工作台补充—小的改进
更多精彩
赞助商链接