Combo combo=new Combo(shell,SWT.SIMPLE);选项以列表的形式在下方显示。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
public class B{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("组合框Combo的实例");
//shell的布局
//shell.setLayout(new FillLayout(SWT.VERTICAL));//必须要有
//shell.setLayout(new FillLayout(SWT.HORIZONTAL));//必须要有
FillLayout layout=new FillLayout();
layout.marginHeight=20;
layout.marginWidth=20;
shell.setLayout(layout);
//创建一个组合框,选项以列表的形式在下方显示
final Combo combo=new Combo(shell,SWT.SIMPLE);//选项以列表的形式在下方显示
//final Combo combo=new Combo(shell,SWT.DROP_DOWN);//选项以下拉的形式出现
//final Combo combo=new Combo(shell,SWT.READ_ONLY);//灰色的
//填充组合框
String[] items=new String[4];
for(int i=0;i<items.length;i++){
items[i]="选项"+i;
}
combo.setItems(items);
//注册键盘事件
//combo.addKeyListener(listener);
combo.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent event){
//当用户按下右键的时候,选项跳到下一个
if(event.keyCode==SWT.ARROW_RIGHT){
combo.select(combo.getSelectionIndex()+1);
}
else if(event.keyCode==SWT.ARROW_LEFT){
//当用户按下左键的时候,选项跳到上一个
combo.select(combo.getSelectionIndex()-1);
}
}
});
//打开窗口,进行窗口的显示
shell.setSize(400,400);
//shell.pack();
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
Combo combo=new Combo(shell,SWT.DROP_DOWN);选项以下拉的形式显示(默认)。或者CCombo类都是下拉的样式。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.custom.CCombo;
public class C{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("combo组合框——自定义组合框CCombo类");
//shell.setLayout(new FillLayout(SWT.VERTICAL));//必须要有
//shell.setLayout(new FillLayout(SWT.HORIZONTAL));//必须要有
FillLayout layout=new FillLayout();
layout.marginHeight=20;
layout.marginWidth=20;
shell.setLayout(layout);
//CCombo绝对的是下拉的样式
//CCombo ccombo=new CCombo(shell,SWT.FLAT);//具有平面效果的组合框(没有边框)
//CCombo ccombo=new CCombo(shell,SWT.READ_ONLY);//只读状态的组合框(灰色的)
CCombo ccombo=new CCombo(shell,SWT.BORDER);//具有立体边框的组合框(有边框)
//CCombo ccombo=new CCombo(shell,SWT.DROP_DOWN);//选项以下拉的形式显示选项(默认选项)==效果同SWT.BORDER
//CCombo ccombo=new CCombo(shell,SWT.SIMPLE);//选项以下拉的形式显示选项==效果同SWT.BORDER
String[] items=new String[4];
for(int i=0;i<items.length;i++){
items[i]="ITEM"+i;
}
ccombo.setItems(items);
//打开窗口,进行窗口的显示
shell.setSize(400,100);
//shell.pack();
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}