快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
  List list = new List(parent, SWT.MULTI |              SWT.V_SCROLL | SWT.H_SCROLL);    list.addSelectionListener(new SelectionListener() {      :    });    setListContents(data);    return list; } public void setComboContents(String[] data) {    combo.removeAll();    for (int i = 0; i < data.length; i++) {      combo.add(data[i]);    } } public void setListContents(String[] data) {    list.removeAll();    for (int i = 0; i < data.length; i++) {      list.add(data[i]);    } }

如果添加 SelectionListener,那么它允许应用程序在用户更改所选定的项时采取行动。

清单 4 中的主代码序列的流假定 SelectionListener 包含在 this 引用的一些合成物中。它创建了如图 5 中所示的组合框和(部分已隐藏的)列表。

图 5. 组合框和列表的例子

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

SWT和JFace, 第2部分: 简介(6)

时间:2011-03-20 IBM Barry Feigenbaum

您可以使用组合框控件的一个叫做 CCombo 的替代实现(位于 org.eclipse.swt.custom 包中)。除了支持一些额外的功能,CCombo 类似于 Combo,最重要的是,您可以以编程方式要求 CCombo 将文本剪切、复制或粘贴到它的嵌入式 Text 控件中,反之亦可。此外,CCombo 总是以 DROP_DOWN 样式出现,所以它不支持类型样式。

CCombos 还支持一些可选样式:

BORDER 显示了一个围绕文本区的边框。

READ_ONLY 防止用户编辑该组合框的文本字段。

FormLayout

清单 4 中的例子使用 FormLayout 来放置组合框和列表。FormLayout 是最有用的布局管理器之一,因为它允许您相对于其他控件来安排每个控件,允许您将控件的任意一边(左边、顶部、右边或底部)附着到另一个控件的(通常相对的)边,或者附着到容器的某一边上。未附着的边则采用该控件的自然相对维数(natural corresponding dimension)。可以使用 FormAttachment 的一个实例,将引用控件或容器大小的百分比指定为附着点,并提供距离此点的像素偏移量。清单 4 中的代码使用了来自清单 5 的 helper 方法。

清单 5. configureLayout: FormLayout 帮助器方法

protected static void configureLayout(Control c,                     FormAttachment left,                     FormAttachment top,                     FormAttachment right,                     FormAttachment bottom) {    FormData fd = new FormData();    if (left != null) {      fd.left = left;    }    if (top != null) {      fd.top = top;    }    if (right != null) {      fd.right = right;    }    if (bottom != null) {      fd.bottom = bottom;    }    c.setLayoutData(fd); }

表 是支持 TableColumns 的列表的增强形式。这些列将它们的数据对齐成一种更可读的形式。它们还支持列名,并能调整列的大小。要创建表,首先要创建表控件,然后添加 TableItems 中包装的字符串数据。

表支持以下可选样式:

CHECK 将复选框添加到第一列中。

VIRTUAL 支持大型表(特定于平台)。

FULL_SELECTION 选择所有列(不仅仅是第一列)。

清单 6 创建了图 6 中所示的表。

清单 6. 使用 helper 方法创建一个表

// Create the Table and TableColumns protected Table createTable(Composite parent, int mode, Object[] contents) {    table = new Table(parent, mode | SWT.SINGLE | SWT.FULL_SELECTION |             SWT.V_SCROLL | SWT.H_SCROLL);   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号