组合框Combo——SWT.DROP_DOWN选项以下拉的形式显示;SWT.SIMPLE选项以列表的形式在下方显示。

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();
	}
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值