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,如需转载请自行联系原作者