关于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 ...
随机推荐
- 多线程与网络之NSURLConnection发送请求
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 进程隐藏与进程保护(SSDT Hook 实现)(二)
文章目录: 1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ri ...
- 2015长春 HDU 5531 Rebuild
题意:n个顶点组成的多边形能否形成正多边形? #include <cstdio> #include <cstring> #include <cmath> #incl ...
- javascript活动对象的理解——伪单例模式
在自己研究javascript各种设计模式的过程中,偶然写出的一段代码让自己理解的更深刻了,之所以称之为伪单例模式,是因为这段代码造成的结果很想单例模式,但是实际上是活动对象捣乱所造成的误会. 代码很 ...
- 【转】Mybatis Generator最完整配置详解
本文转简书:http://www.jianshu.com/p/e09d2370b796 --> --> <!-- 自动识别数据库关键字,默认false,如果设置为true,根据Sql ...
- Hadoop MapReduce概念学习系列之mr程序详谈(二十三)
这个暂时,没写好. K1,v1 这是增强的for循环. for(Sting w : words) { } 迭代器里,前面,放的是什么类型,后面,迭代的是谁.
- MBProgressHUD not showing
In my app, I am loading a resource heavy view that takes about 1 to 2 seconds to load. So I am loadi ...
- Java & XML Tutorial
Java comes with a set of tools to process XML. These Java XML tools are: SAX Parser StAX Parser DOM ...
- jdbc连接的工具类
在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...
- 将java源码打成jar包
方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] ...