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类中的式样

转载于:https://www.cnblogs.com/DreamDrive/p/4161995.html

关于SWT中的Combo类和List类相关推荐

  1. 关于SWT中的表格(TableViewer类)

    JFace是SWT的扩展.它提供了一组功能强大的界面组件.其中包含表格,树,列表.对话框,向导对话框等. 表格是一种在软件系统中很常用的数据表现形式.特别是基于数据库的应用系统.表格更是不可缺少的界面 ...

  2. SWT中调用Automation的方式

    在SWT中提供了访问OLE的方式,不过相关的例子都是进程内OLE的例子,比如嵌入浏览器.引用ActiveX控件什么的.由于客户的需求,我们需要在程序中通过进程外Automation服务的方式访问IE浏 ...

  3. 在Swing和Swt中使用JavaFX

    转载自  在Swing和Swt中使用JavaFX 本人从08年12月份,JavaFX发布第一个版本开始关注它的发展. 算算到现在,也差不多是第五个年头了.期间经历了一些动荡,但JavaFX还是坚持着发 ...

  4. 组合框控件Combo Box和CComboBox类

    本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框控件.它为我们的日常操作提供了很多方便. ...

  5. 在SWT中使用JxBrowser-Using JxBrowser in SWT

    JxBrowser支持Swing / AWT和JavaFX UI工具包.它提供了BrowserView类的两个实现,可用于将JxBrowser嵌入到Swing / AWT和JavaFX应用程序中: c ...

  6. swt中系统托盘Tray的实现

    在做gui界面的时候,系统托盘是屡见不鲜的功能,也是通用的.基础的功能之一,什么叫做系统托盘呢?就是最小化之后在右下角有个小图标可以还原: 这样的效果在swt中是怎么实现的呢?这里需要用到swt中的T ...

  7. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  8. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  9. CImg库中CImg,CImgList,CImgDisplay三个类的介绍

    转自:http://www.cppprog.com/2009/0426/108.html 本文简单介绍了CImg库中的三个大类:CImg,CImgList,CImgDisplay.然后给出了让CImg ...

最新文章

  1. sed编辑器: 非交互
  2. mysql查询每个机构下的账号总数_MySQL高可用方案:实践篇
  3. ITK:计算两个索引之间的距离
  4. 在Unity中做一个淡入式的屏幕虚化
  5. python机器学习案例系列教程——GBDT构建新特征
  6. LeetCode--191--位1的个数
  7. Primer – 支撑 GitHub 的 CSS 工具包和准则
  8. java爬虫教程:模拟用户表单登录
  9. glide scaletype 无效_android 自定义圆角ImageView,后设置scaleType=centerCrop无效?
  10. javassist官方文档翻译
  11. java小项目之简单聊天室
  12. QCC3040---Media Player module
  13. AIDE手机编程初级教程(零基础向) 1.2 初识界面编程
  14. 【JY】结构动力学初步-单质点结构的瞬态动力学分析
  15. scratch传说之下素材_《故事新编》:在古老传说和寓言故事上丰富情节和赋予意义...
  16. python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现
  17. 竞猜世界杯,0元免费送 Proscenic 聚划算底价狂欢
  18. android 多图分享到微信,Android 微信分享 多张图片
  19. python 通登录银行_带你了解Python|自动化实现学习通登录
  20. SARScape中用sentinel-1数据做SBAS-InSAR完整流程(1/2)

热门文章

  1. 7-293 鸡兔同笼 (10 分)
  2. java 微服务实践 视频,全新JAVA微服为务实战Spring Boot系列视频教程 小马哥 JAVA微服务实践视频课程...
  3. idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能
  4. cs go linux游戏吧,玩家分享:让CSGO画面变成舒服的暖色调
  5. 微信公众号发送客服消息【文本、图片】
  6. 用户不在sudoers文件中,此事将被报告
  7. Druid学习之路 (二)Druid架构
  8. Vagrant 手册之 Provisioning - 基本用法
  9. vue部分样式无法修改
  10. Spark GraphX算法 - PageRank算法