关于SWT中的Combo类和List类
Combo类的谱系图:

一个Combo类的实例:
Combo1.java
public class Combo1 {
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(327, 253);
// ---------创建窗口中的其他界面组件-------------
final Combo combo = new Combo(shell, SWT.READ_ONLY); // 定义一个只读的下拉框
combo.setBounds(16, 11, 100, 25);
// 设值按钮
Button setButton = new Button(shell, SWT.NONE);
setButton.setBounds(17, 65, 100, 25);
setButton.setText("设值");
setButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
combo.removeAll(); // 先清空combo,以防多次按下“设值”按钮时出现BUG
// combo.setItems(new String[] { "语文", "数学", "政治"});
combo.add("语文"); // 加入Combo显示值
combo.add("数学");
combo.add("政治");
combo.setData("语文", "YW");// 设置显示值的代表值
combo.setData("数学", "SX");
combo.setData("政治", "ZZ");
combo.select(1); // 设置第一项为当前项
// combo.setText("数学");
}
});
// 取值按钮
Button getButton = new Button(shell, SWT.NONE);
getButton.setBounds(136, 66, 100, 25);
getButton.setText("取值");
getButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
String str = combo.getText();// 取得显示值
String data = (String) combo.getData(str);// 取得代表值
MessageDialog.openInformation(null, null, str + data);
}
});
// -----------------END------------------------
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}




Combo类的式样列表:

常用方法:
Combo的常用方法如下:
add(String string)
说明:在Combo中增加一项
例子:combo.add("数学")
add(String string,int index)
说明:在Combo中插入一项
例子:combo.add("生物",3),在第3项后面插入一项"生物"
setItems(String[] items)
说明:将数组中的各项一次加入到Combo中,相当于执行了多次的add方法.
例子:combo.setItems(new String[]{"语文","数学","政治"})
select(int index)
说明:将Combo的第index+1项设置成当前选择项
例子:combo.select(0);使用第一项为当前选择项
setText(String str)
说明:此方法和select(int index)用于设置当前选择项,str是下拉框中的某一项.
例子:combo.setText("语文");将下拉框的"语文"项设置成为当前选择项.
deselectAll()
说明:使Combo的当前选择项为空,即Combo没有选择任何一项.
List的谱系图:

List的用法与Combo基本是一样的.Combo的两个雷子只要将Text的定义部分改为List的定义语句,再稍微修改,就可以称为List类的例子.
List1.java
public class List1 {
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(327, 253);
// ---------创建窗口中的其他界面组件-------------
final List list = new List(shell, SWT.BORDER | SWT.MULTI);
list.setBounds(16, 11, 100, 45);
// 设值按钮
Button setButton = new Button(shell, SWT.NONE);
setButton.setBounds(17, 65, 100, 25);
setButton.setText("设值");
setButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
list.removeAll(); // 先清空combo,以防多次按下“设值”按钮时出现BUG
list.add("语文"); // 加入Combo显示值
list.add("数学");
list.add("政治");
list.setData("语文", "YW");// 设置显示值的代表值
list.setData("数学", "SX");
list.setData("政治", "ZZ");
list.select(new int[] { 0, 2 }); // 设置第一、三项为选择项
}
});
// 取值按钮
Button getButton = new Button(shell, SWT.NONE);
getButton.setBounds(136, 66, 100, 25);
getButton.setText("取值");
getButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
StringBuilder bud = new StringBuilder();
for (String s : list.getSelection())// getSelection返回所有选择项组成的String数组
bud.append(s).append(list.getData(s)).append(", ");
MessageDialog.openInformation(null, null, bud.toString());
}
});
// -----------------END------------------------
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}


List类中的式样

关于SWT中的Combo类和List类的更多相关文章
- 关于SWT中的表格(TableViewer类)
JFace是SWT的扩展.它提供了一组功能强大的界面组件.其中包含表格,树,列表.对话框,向导对话框等. 表格是一种在软件系统中很常用的数据表现形式.特别是基于数据库的应用系统.表格更是不可缺少的界面 ...
- 关于SWT中的Label类和Text类
Label类的继承关系图 Label是SWT中最简单的界面组件,给出他的一个实例如下: public class Label1 { public static void main(String[] a ...
- SWT中各种参数大全
1按钮组件(Button) (1)Button组件常用样式 SWT.PUSH按钮 SWT.CHECK多选按钮 SWT.RADIO单选按钮 SWT.ARROW箭头按钮 SWT.NONE默认按钮 SWT. ...
- Eclipse中的TreeViewer类和ListViewer类
TreeViewer和TableViewer在使用上还是有很多相似之处.TreeViewer中冶有TableViewer中的过滤器和排序器.具体使用看TableViewer中的使用. 和Table有J ...
- SWT中ole/activex实践--操作word的一个例子
http://setting.iteye.com/blog/747295 ———————————————————————————————————————————————— 这几年,做了很多word/e ...
- 详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用法
http://hi.baidu.com/matrix286/item/b9e88b28b90707c9ddf69a6e ———————————————————————————————————————— ...
- JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- java中的 FileWriter类 和 FileReader类的一些基本用法
1,FileWriter类(字符输出流类) |--用来写入字符文件的便捷类.此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的.要自己指定这些值,可以先在 FileOutputStream ...
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
随机推荐
- Serv-U搭建FTP服务器
1.打开软件,勾选start automatically 2.点击domain,新建domain 3.依次输入IP.端口号.域名.域名类型 完成后的样子 4.右键单击Users,新建用户.依次输入用户 ...
- [RQNOJ313]波浪数
题目描述 波浪数是在一对数字之间交替转换的数,如1212121,双重波浪数则是指在两种进制下都是波浪数的数,如十进制数191919是一个十进制下的波浪数,它对应的十一进制数121212也是一个波浪数, ...
- js中的new关键字都干了些什么?
new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在javascript中,我们将这类方式成为Pseudoclassic ...
- IO 图
- cocos2d-x的helloLua例子函数名定义误导初学者
初次研究cocos2d-x, cocos2d-x支持lua是一个很不错的功能,使用lua来开发有个最大的好处就是不用每次改了游戏代码都编译,大多数情况下改了脚本直接运行程序就可以了,发布更新时也不用更 ...
- 【Hadoop学习】Apache HBase项目简介
正在撰写,稍后来访……
- HDU-4699 Editor 数据结构维护
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4699 题意:开始有一个光标,每次有5中操作:1,光标当前位置插入一个数,2,光标当前位置删除一个,3, ...
- [威客任务]¥800.00 JS实现网站联动三级选项
任务地址:http://task.zhubajie.com/3275832/ 具体要求: 要求1) 选单样式参照附件2) 点击第一个选项内容后,跳出第二个选项栏位,并自动更新选项内容3) 点击第二个选 ...
- C#中反射的使用(How to use reflect in CSharp)(1)
最近想做一个插件式的软件给公司的监控用,初步的想法是使用C#去反射Dll,Invoke其中的方法.此文仅供开发参考,不涉及原理,98%的代码以及2%的废话. 测试Solution是这么建的(.NET ...
- iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)
实现过程: 1.在应用程序的Info.plist文件中添加Application supports iTunes file sharing键,并将键值设置为YES. - (void)viewDidLo ...