快速业务通道

SWT和JFace,第3部分: 简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
tyledText.setStyleRanges(tc.getStyleRanges()); : protected static final String dummyContent = "Just plain text!\n" + "Now is the time for <b>all</b> good men " + "to come to the aid of their country\n" + "<red><i>To <b>be</b></i> or <i>not to <b>be</b></i>?</red> " + "<blue><u>That</u> is the <so>question</so></blue>\n" + "That''s all folks!\n";

StyledText 的例子使用了一个 helper 类 TextContent,以确定具有特殊属性的文本的范围。这个类包含在示例代码中,支持对文档进行分析并获得其纯文本内容,以及查找各种范围,其中的纯文本内容具有不同属性或属性组合。它创建了表示这些范围的 SWT 类 StyleRange 的一个数组。StyleRange 有一些字段,这些字段描述了这样的范围,该范围包括前景色和背景色,以及要应用的起始偏移量、长度和属性,比如字体样式(粗体或斜体)、删除线和下划线。

StyledText 所具有的功能比这里展示的还要多。例如,在将文本输入到文档中时,文本没有任何属性,即使是在具有属性的点输入它也是如此。您可以使用 StyledText 的特性来改正这一行为。

SWT和JFace,第3部分: 简介(9)

时间:2011-03-20 IBM Barry Feigenbaum

PopupList

有时,当您希望能够将一个选择列表显示为一个弹出式菜单而不用创建一个弹出式菜单时,可以使用 PopupList 控件做到这一点。图 6 显示了如何使用此控件将选择、剪切、复制和粘贴功能添加到 图 5 的文本编辑器中。

图 6. PopupList 的例子

SWT和JFace,第3部分: 简介 - 编程入门网

清单 13 显示了 processPopup 方法的内容。注意,安置弹出式菜单的代码与它所涉及的控件(即样式文本)有关。

清单 13. PopupList 的例子

PopupList popup = createPopupList(shell, 50, popupItems); popup.select(popupItems[0]); Point p = styledText.getLocation(); p = shell.getDisplay().map(styledText, null, p.x, p.y); String choice = popup.open(new Rectangle(            p.x + 100, p.y - 100, 100, 200)); if (choice != null) {    if   (popupItems[0].equals(choice)) {      styledText.selectAll();    }    else if (popupItems[1].equals(choice)) {      styledText.cut();    }    else if (popupItems[2].equals(choice)) {      styledText.copy();    }    else if (popupItems[3].equals(choice)) {      styledText.paste();    } } : protected static final String[] popupItems = {    "Select All", "Cut", "Copy", "Paste" };

StackLayout

在前两篇文章中,我讨论了随 SWT 一起提供的几个布局管理器,其中包括 FillLayout、GridLayout 和 FormLayout。custom 包提供了 StackLayout,可以用它在一次只显示一个 GUI 的 TabFolder(有些类似于没有选项卡的 TabFolder)的顶部放置多个 GUI。考虑一下 图 7 和 图 8,它们显示了一个显示带编号标签的堆栈布局的两种状态。通过“>>”按钮可以让堆栈前进,而通过“<<”按钮则可以让堆栈后退。图 8 显示了按下“>>”按钮 4 次后的布局。

图 7. StackLayout 的例子 1

SWT和JFace,第3部分: 简介 - 编程入门网

图 8. StackLayout 的例子 2

SWT和JFace,第3部分: 简介 - 编程入门网

SWT和JFace,第3部分: 简介(10)

时间:2011-03-20 IBM Barry Feigenbaum

此堆栈由清单 14 中的代码创建。

清单 14. StackLayout 的例子

StackLayout stackLayout = new St

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号