WEB开发网
开发学院软件开发Java 定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP ... 阅读

定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

 2010-04-26 00:00:00 来源:WEB开发网   
核心提示: Region 类里面也提供了直接生成矩形的函数 add(Rectangle rect)和 add(int x, int y, int width, int height),如果要生成不规则的窗体,定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面(3),如圆形,或者其他形状的窗

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. 园
定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

生成圆形坐标数组的函数代码如下:

清单 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 对象,然后加入定义好的图形。这些图形可以叠加在一起形成多边形外形;也可以剔除一块图形。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:定制 SWT RCP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接