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

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

 2010-04-26 00:00:00 来源:WEB开发网   
核心提示: 清单 4. 实现多边形小部件ButtonstartBt=newButton(shell,SWT.PUSH);startBtRegion=newRegion();startBtRegion.add(circle(35,40,40));ImageDatastartData=startBtImage.

清单 4. 实现多边形小部件

 Button startBt = new Button(shell, SWT.PUSH); 
 startBtRegion = new Region(); 
 startBtRegion.add(circle(35, 40, 40)); 
 ImageData startData = startBtImage.getImageData(); 
 startBt.setRegion(startBtRegion); 
 startBt.setSize(startData.width+10, startData.height+10); 
 startBt.setLocation(575, 297); 
 startBt.setImage(startBtImage); 
 startBt.setToolTipText("Play media"); 

图 5. 多边形 Control
定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

图 1.5 说明了其中原因,如果要创建一个圆形多边形按钮,我们首先要定义个圆形部分的 Region,然后设置偏移 X1,Y1,再后设置 button 的 Region 为我们创建的 Region。这样 Button 显示给我们的就是一个圆形的 Button。而且只有该圆形区域,按钮点击才有响应。

图 6. 圆形控件示意图
定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面

值得注意的是,如果不用图片,圆形的 button 没法显示相应的边界,用户很难分辨圆形按钮和父窗口,因而用处不大。如果想创建一个像 Button 的多边形按钮,我们需要继承 Button,重载图形绘制部分,自己绘制 Region 的边界以显示一个真正的多边形按钮。

多边形控件只有在 Eclipse3.4 中才开始支持,有对方面感兴趣的朋友可以自己实现多边形控件,然后定义几个特例,比如说圆形,环形等。如果运气好的话,说不定这些实现可能被 Eclipse 采纳。

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

Tags:定制 SWT RCP

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