关于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 ...
随机推荐
- 第二个App“今日美文”上架【原】
App store 下载地址 开发这个App的本意 之前偶然找到一个叫<每日一文>的应用,正是我一直想找的,优点如下: 界面够简单 推荐的文章也很好,而且都不太长 每天都不一样 但是用起来 ...
- activemq api的封装
今天无聊写段代码..学习一下activemq,简单封装了一下activemq 的topic api.跟jdbc很类似 主要代码: import java.io.Serializable; import ...
- Codeforces Round #359 (Div. 1)
A http://codeforces.com/contest/685/standings 题意:给你n和m,找出(a,b)的对数,其中a满足要求:0<=a<n,a的7进制的位数和n-1的 ...
- js学习记录
1.js语法 2.数据类型(基本类型与对象类型.类型的转换) 2.1 数字 2.2 文本 2.3 布尔值 2.4 null和undefined 2.5 对象 2.6 类型检测 3.操作符和表达式 4. ...
- 自己常用的js方法
$(function(){ tabview("#zcfw_list1"); tabview("#zcfw_list2"); tabview("#zcf ...
- SGU132 - Another Chocolate Maniac(状态压缩DP)
题目大意 给定一个N*M大小的大小的蛋糕,蛋糕的有些地方已经放置了东西,要求你在蛋糕上放入尽量少的1*2大小的巧克力,使得蛋糕不能够再放入巧克力 题解 和POJ1038恰好相反,此题是放入尽量少的巧克 ...
- 如何创建一个有System用户权限的命令行
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何创建一个有System用户权限的命令行.
- C#程序实现动态调用DLL的研究
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- UIWebView 获取html标题
使用uiwebview.delegate -(void)webViewDidFinishLoad:(UIWebView *)webView { m_labTitle.text=[m_webVie st ...
- SliderSkin
<?xml version="1.0" encoding="utf-8"?> <s:Skin xmlns:fx="http://ns ...