关于SWT中的Combo类和List类

简介:

Combo类的谱系图:

一个Combo类的实例:

 Combo1.java

复制代码
 1 public class Combo1 {
 2     public static void main(String[] args) {
 3         final Display display = Display.getDefault();
 4         final Shell shell = new Shell();
 5         shell.setSize(327, 253);
 6         // ---------创建窗口中的其他界面组件-------------
 7         final Combo combo = new Combo(shell, SWT.READ_ONLY); // 定义一个只读的下拉框
 8         combo.setBounds(16, 11, 100, 25);
 9 
10         // 设值按钮
11         Button setButton = new Button(shell, SWT.NONE);
12         setButton.setBounds(17, 65, 100, 25);
13         setButton.setText("设值");
14         setButton.addSelectionListener(new SelectionAdapter() {
15             public void widgetSelected(SelectionEvent e) {
16                 combo.removeAll(); // 先清空combo,以防多次按下“设值”按钮时出现BUG
17                 // combo.setItems(new String[] { "语文", "数学", "政治"});
18                 combo.add("语文"); // 加入Combo显示值
19                 combo.add("数学");
20                 combo.add("政治");
21                 combo.setData("语文", "YW");// 设置显示值的代表值
22                 combo.setData("数学", "SX");
23                 combo.setData("政治", "ZZ");
24                 combo.select(1); // 设置第一项为当前项
25 //                combo.setText("数学");
26             }
27         });
28 
29         // 取值按钮
30         Button getButton = new Button(shell, SWT.NONE);
31         getButton.setBounds(136, 66, 100, 25);
32         getButton.setText("取值");
33         getButton.addSelectionListener(new SelectionAdapter() {
34             public void widgetSelected(SelectionEvent e) {
35                 String str = combo.getText();// 取得显示值
36                 String data = (String) combo.getData(str);// 取得代表值
37                 MessageDialog.openInformation(null, null, str + data);
38             }
39         });
40         // -----------------END------------------------
41         shell.layout();
42         shell.open();
43         while (!shell.isDisposed()) {
44             if (!display.readAndDispatch())
45                 display.sleep();
46         }
47         display.dispose();
48     }
49 }
复制代码

 

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

复制代码
 1 public class List1 {
 2     public static void main(String[] args) {
 3         final Display display = Display.getDefault();
 4         final Shell shell = new Shell();
 5         shell.setSize(327, 253);
 6         // ---------创建窗口中的其他界面组件-------------
 7         final List list = new List(shell, SWT.BORDER | SWT.MULTI);
 8         list.setBounds(16, 11, 100, 45);
 9 
10         // 设值按钮
11         Button setButton = new Button(shell, SWT.NONE);
12         setButton.setBounds(17, 65, 100, 25);
13         setButton.setText("设值");
14         setButton.addSelectionListener(new SelectionAdapter() {
15             public void widgetSelected(SelectionEvent e) {
16                 list.removeAll(); // 先清空combo,以防多次按下“设值”按钮时出现BUG
17                 list.add("语文"); // 加入Combo显示值
18                 list.add("数学");
19                 list.add("政治");
20                 list.setData("语文", "YW");// 设置显示值的代表值
21                 list.setData("数学", "SX");
22                 list.setData("政治", "ZZ");
23                 list.select(new int[] { 0, 2 }); // 设置第一、三项为选择项
24             }
25         });
26 
27         // 取值按钮
28         Button getButton = new Button(shell, SWT.NONE);
29         getButton.setBounds(136, 66, 100, 25);
30         getButton.setText("取值");
31         getButton.addSelectionListener(new SelectionAdapter() {
32             public void widgetSelected(SelectionEvent e) {
33                 StringBuilder bud = new StringBuilder();
34                 for (String s : list.getSelection())// getSelection返回所有选择项组成的String数组
35                     bud.append(s).append(list.getData(s)).append(", ");
36                 MessageDialog.openInformation(null, null, bud.toString());
37             }
38         });
39         // -----------------END------------------------
40         shell.layout();
41         shell.open();
42         while (!shell.isDisposed()) {
43             if (!display.readAndDispatch())
44                 display.sleep();
45         }
46         display.dispose();
47     }
48 }
复制代码

 List类中的式样


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4161995.html,如需转载请自行联系原作者

相关文章
|
1天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
2月前
|
安全 Java API
Java并发 - J.U.C并发容器类 list、set、queue
Queue API 阻塞是通过 condition 来实现的,可参考 Java 并发 - Lock 接口 ArrayBlockingQueue 阻塞 LinkedBlockingQueue 阻塞 ArrayQueue 非阻塞 LinkedQueue 非阻塞
|
3月前
|
存储 安全 Java
深入解析Java List接口及其实现类
深入解析Java List接口及其实现类
|
7月前
|
存储 算法 Java
java集合框架------Collection接口,List接口与实现类,Set接口与实现类
java集合框架------Collection接口,List接口与实现类,Set接口与实现类
|
5月前
|
存储 C++ 容器
【C++】STL容器——list类的使用指南(含代码演示)(13)
【C++】STL容器——list类的使用指南(含代码演示)(13)
|
5月前
|
Java
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
54 0
|
1月前
|
Java 数据库连接 mybatis
mybatis 查询结果返回 list<pojo> 和 一个 pojo 类 的一些坑
mybatis 查询结果返回 list<pojo> 和 一个 pojo 类 的一些坑
57 0
|
7月前
|
存储 安全 Java
Java基础知识第三讲:深入集合类(常用的集合类有哪些?比如List如何排序?集合的安全?)
Java基础知识第三讲:深入集合类(常用的集合类有哪些?比如List如何排序?集合的安全?)
|
7月前
|
C++
C++:模拟实现list及迭代器类模板优化方法
C++:模拟实现list及迭代器类模板优化方法
|
9月前
|
存储 Java
Java中 List集合接口及其主要的实现类ArrayList,Vector,LinkedList的详解
Java中 List集合接口及其主要的实现类ArrayList,Vector,LinkedList的详解
40 0