import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class ComboTest { public static void main(String[] args) { String[] WEEK = { "Monday", "Tuesday", "Wednesday"}; Display display = new Display(); Shell shell = new Shell(display); shell.setBounds(500, 100, 500, 300); shell.setText("Combo"); shell.setLayout(new GridLayout(3, true)); //创建Combo组件,为下拉列表样式 final Combo dc = new Combo(shell, SWT.DROP_DOWN); dc.setItems(WEEK); dc.addSelectionListener(new SelectionAdapter(){ @Override public void widgetSelected(SelectionEvent e) { String key = ""+dc.getSelectionIndex(); String value = dc.getText(); System.out.println("key:"+key+" value:"+value); } }); //创建Combo组件,为下拉列表样式,且只读 final Combo rc = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY); //在界面中显示的是123 rc.add("123"); //第一个值是key从0开始 ,第二个值为value rc.setData("0", "321"); rc.add("456"); rc.setData("1", "654"); rc.addSelectionListener(new SelectionAdapter(){ @Override public void widgetSelected(SelectionEvent e) { String key = ""+rc.getSelectionIndex(); System.out.println("key:"+key); String value = (String) rc.getData(key); System.out.println("key:"+key+" value:"+value); } }); //rc.setItems(MONTHS); //创建Combo组件,为List组件样式 Combo sc = new Combo(shell, SWT.SIMPLE); sc.setItems(WEEK); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } }