Combo 下拉列表框
public class Combo
extends Composite
Instances of this class are controls that allow the user to choose an item from a list of items, or optionally enter a new value by typing it into an editable text field. Often, Combos are used in the same place where a single selection List widget could be used but space is limited. A Combo takes less space than a List widget and shows similar information.
combo.removeAll();
for(int i=0; i<10; i++){
combo.add("第"+i+"个");
}
combo.select(0);
MessageDialog.openInformation(shell, null, combo.getText());
1、取消Combo的全部下拉列表项 combo.removeAll()
2、添加Combo的下拉列表项 add(String),setItems(String[])
3、使Combo默认选中第一个 combo.select(0)
4、得到Combo选中的值 用combo.getText()方法。
public class Combo1 { public static void main(String[] args) { final Display display = Display.getDefault(); final Shell shell = new Shell(); shell.setSize(327, 253); shell.setText("SWT Application"); //------------------新插入的界面核心代码------------------------ final Combo combo = new Combo(shell, SWT.READ_ONLY); //定义一个只读的下拉框 combo.setBounds(16, 11, 100, 25); //设值按钮 final Button button1 = new Button(shell, SWT.NONE); button1.setBounds(17, 65, 100, 25); button1.setText("设值"); button1.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { combo.removeAll(); //先清空combo,以防"设值"按钮多次按下时出BUG for (int i = 1; i <= 10; i++) //循环,赋值 combo.add("第" + i + "个字符串"); //在combo中显示的字符串 combo.select(0); //设置第一项为当前项 } }); //取值按钮 final Button button2 = new Button(shell, SWT.NONE); button2.setBounds(136, 66, 100, 25); button2.setText("取值"); button2.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { // combo.getText()得到combo中当前显示的字符串 MessageDialog.openInformation(shell, null, combo.getText()); } }); //------------------END--------------------------------------------- shell.layout(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } } |
shell.setLayout(new FillLayout()); //将FillLayout对象应用于shell上
FillLayout() 填满整个屏幕。