定制 SWT/RCP 界面:如何编写一个漂亮的 SWT/RCP 界面
2010-04-26 00:00:00 来源:WEB开发网清单 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
图 1.5 说明了其中原因,如果要创建一个圆形多边形按钮,我们首先要定义个圆形部分的 Region,然后设置偏移 X1,Y1,再后设置 button 的 Region 为我们创建的 Region。这样 Button 显示给我们的就是一个圆形的 Button。而且只有该圆形区域,按钮点击才有响应。
图 6. 圆形控件示意图
值得注意的是,如果不用图片,圆形的 button 没法显示相应的边界,用户很难分辨圆形按钮和父窗口,因而用处不大。如果想创建一个像 Button 的多边形按钮,我们需要继承 Button,重载图形绘制部分,自己绘制 Region 的边界以显示一个真正的多边形按钮。
多边形控件只有在 Eclipse3.4 中才开始支持,有对方面感兴趣的朋友可以自己实现多边形控件,然后定义几个特例,比如说圆形,环形等。如果运气好的话,说不定这些实现可能被 Eclipse 采纳。
- ››定制个性化的对话框窗口类
- ››定制 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:扩展通用工作台补充—小的改进
更多精彩
赞助商链接