基本SWT控件使用1

Button常用的方法:setImage();setText();setBounds();addSelectionListener();
SWT.RADIO(单选框),SWT.CHECK(复选框),SWT.NONE(普通按钮),SWT.PUSH(自动弹回),SWT.TOGGLE(不能自动弹回)。

Label:若指定为SWT.seperator则显示为一个分隔线,组合SWT.Horizonal或SWT.Vertical则可以显示水平或垂直线。

Text:在文本框输入回车时,触发DefaultSelection事件,用widgetDefaultSelection方法监听;编辑Text时会触发Verify事件,可以通过这个事件判断所做的修改是否可以接收,若不可以接受,可以设置 VerifyEvent.doit为false,只要有某一个VerifyListener将其设置为false,这次的修改动作不会成功,text的内容不会被改变。若所有的VerifyListeners都没有改变其值则触发一个modify事件。下面的代码能保证文本框只能输入数字。
final Text newText =new Text(shell,SWT.BORDER);
 newText.addVerifyListener(new VerifyListener(){
            @Override
            public void verifyText(VerifyEvent arg0) {
                try {
                    Integer.parseInt(arg0.text);
                } catch (Exception e) {
                    arg0.doit=false;
                }               
            }       
        });

List: 选中List的一项触发Slection事件,双击除了触发Selection事件还会触发DefaultSelection事件

Combo:选中项时触发Selection事件和Modify事件,若直接编辑组合框内容,只会触发Modify事件。Modify事件中只包含了哪个控件被修改而不包含修改的具体内容,通过ModifyEvent.widget或ModifyEvent.getSource获得发送事件的控件。

Toolbar/Toolltem: Toolbar代表工具条,在其上添加ToolItem。使用SWT.Horizonal或SWT.Vertical控制按钮的排列方向,默认工具上图片显示在文字的上方,对Toolbar设置Right可以让文字显示在图片右侧;ToolItem仅支持Selecton事件。通过ToolItem.setControl可以将其它控件(Text,Combo等放在工具栏上);

Menu/MenuItem:一个窗体只支持一个菜单,用Shell.setMenuBar()设置菜单。
Menu bar=new Menu(shell,SWT.BAR);
shell.setMenuBar(bar);
MenuItem item=new MenuItem(bar,SWT.NONE);//添加菜单项
...
Menu fileMenu=new Menu(item);//添加菜单
item.setMenu(fileMenu)
...
反复实现多级菜单
样式有CASCAD、PUSGH、CHECK、RADIO、SEPERATOR样式
响应Selection和Arm、Help事件
一个下拉菜单由一个使用了CASCADE的菜单项和Menu实例组成






你可能感兴趣的:(SWT)