首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

SWT 和 JFace,第 4 部分 简介(4)

SWT 和 JFace,第 4 部分 简介(4)

Link[size=1.0625]Link 与 PUSH 按钮类似,但是看起来更像 Web 浏览器中的文本链接。Link 只支持文本内容。Link 可以使用普通文本或 HTML A 标记作为内容(通常采用 <a href="某个 url">某些文本消息</a> 的形式)。如果使用 A 标记的语法,那么 Link 看起来就像 Web 链接;否则,看起来就像 Label。请注意在 Eclipse V3.1 中才可以使用 Link。
[size=1.0625]以下清单显示了创建 Link 的代码。
清单 8. 创建 Link 的方法

[size=0.875]1


[size=0.875]2


[size=0.875]3


[size=0.875]4


[size=0.875]5


[size=0.875]6


[size=0.875]7


[size=0.875]8


[size=0.875]9


[size=0.875]10


[size=0.875]11


[size=0.875][size=0.875]protected Link createLink(Composite parent, String text,
[size=0.875]                          SelectionListener listener) {
[size=0.875]    Link l = new Link(parent, SWT.NONE);
[size=0.875]    if (text != null) {
[size=0.875]        l.setText(text);
[size=0.875]    }
[size=0.875]    if (listener != null) {
[size=0.875]        l.addSelectionListener(listener);
[size=0.875]    }
[size=0.875]    return l;
[size=0.875]}




[size=1.0625]图 6 显示了一个用红色强调的 Link。
图 6. Link 示例Tracker[size=1.0625]有些时候,您可能希望在修改控件大小或移动控件的同时给用户提供反馈。Tracker 可实现此目的。它创建一个临时的轮廓(实际是 GUI 上的透明窗口的边框),可以通过键盘或鼠标移动它或修改大小。在关闭 Tracker 时,应用程序通常就把相关控件移动或修改尺寸到与 Tracker 匹配的位置和尺寸。应用程序也可以跟着 Tracker 持续地移动控件或修改控件大小。
[size=1.0625]以下清单显示了创建 Tracker 的代码。
清单 9. 创建 Tracker 的方法

[size=0.875]1


[size=0.875]2


[size=0.875]3


[size=0.875]4


[size=0.875]5


[size=0.875]6


[size=0.875]7


[size=0.875]8


[size=0.875]9


[size=0.875]10


[size=0.875]11


[size=0.875]12


[size=0.875]13


[size=0.875]14


[size=0.875][size=0.875]protected Tracker createTracker(Composite parent, int style) {
[size=0.875]    return createTracker(parent, style, null, null);
[size=0.875]}
[size=0.875]protected Tracker createTracker(Composite parent, int style,
[size=0.875]                                ControlListener cl, KeyListener kl) {
[size=0.875]    Tracker t = new Tracker(parent, style);
[size=0.875]    if (cl != null) {
[size=0.875]        t.addControlListener(cl);
[size=0.875]    }
[size=0.875]    if (kl != null) {
[size=0.875]        t.addKeyListener(kl);
[size=0.875]    }
[size=0.875]    return t;
[size=0.875]}




[size=1.0625]图 7 显示了 Check 按钮的 Tracker,扩展到了 GUI 的右侧。
图 7. Tracker 示例Dialog[size=1.0625]BasicApplication 类显示了确定退出的 MessageBox。这个 MessageBox 就是 SWT 提供的一组标准对话框的一个示例。其他一些有用的对话框是:
  • FileDialog —— 允许用户选择文件
  • DirectoryDialog —— 允许用户选择目录
  • FontDialog —— 允许用户选择字体
  • ColorDialog —— 允许用户选择选择颜色值
[size=1.0625]请注意 Dialog 可能不允许您对其标题文本进行设置。
[size=1.0625]下面的清单显示了创建全部 4 种 Dialog 的代码。
清单 10. 创建多种 Dialog 的方法

[size=0.875]1


[size=0.875]2


[size=0.875]3


[size=0.875]4


[size=0.875]5


[size=0.875]6


[size=0.875]7


[size=0.875]8


[size=0.875]9


[size=0.875]10


[size=0.875]11


[size=0.875]12


[size=0.875]13


[size=0.875]14


[size=0.875]15


[size=0.875][size=0.875]FileDialog fd = new FileDialog(getShell(), SWT.OPEN);
[size=0.875]fd.setText("Sample File Dialog");
[size=0.875]String path = fd.open();

[size=0.875]DirectoryDialog dd = new DirectoryDialog(getShell(), SWT.NONE);
[size=0.875]dd.setText("Sample Directory Dialog");
[size=0.875]String path = dd.open();                           

[size=0.875]ColorDialog cd = new ColorDialog(getShell(), SWT.NONE);
[size=0.875]cd.setText("Sample Color Dialog");
[size=0.875]RGB rgb = cd.open();                           

[size=0.875]FontDialog fd = new FontDialog(getShell(), SWT.NONE);
[size=0.875]fd.setText("Sample Font Dialog");
[size=0.875]FontData d = fd.open();




山不在高,有仙则名;水不在深,有龙则灵。
返回列表