部件是一个图形用户接口的元素,就是GUI应用中的按钮,文本框,选择框等常用的界面元素,这些部件可以响应事件与用户交互。
当部件的状态改变时,不管是由用户还是程序代码触发,部件都会自动重绘以显示最新状态,这是所有部件都有的重要特性,简单地说,每个部件所在屏幕中呈现出的效果总是不断地绘制出来的。
Widget类是各种用户界面元素入按钮,列表,树和菜单整个继承体系的父类。
Widget是抽象类,不能通过new关键词创建一个Widget实例,我们所说的Widget类实际上是Widget的子类,Widget的子类共享相同的构造方法,使得创建Widget保持高度的一致性(复合设计模式)。
按钮分类
普通按钮:
button1.setText("button1");Button button1 = new Button(shell, SWT.PUSH);//设置悬浮提示button1.setToolTipText("SWT.LEFT");//带边框的按钮Button button2 = new Button(shell, SWT.BORDER);button2.setText("button2");
切换按钮:
Button button2 = new Button(shell, SWT.TOGGLE);
箭头按钮:
Button bt1 = new Button(shell, SWT.ARROW|SWT.LEFT);
Button bt2 = new Button(shell, SWT.ARROW|SWT.RIGHT);
单选按钮:
Button bt1 = new Button(group1, SWT.RADIO|SWT.LEFT);
Button bt2 = new Button(group1, SWT.RADIO|SWT.RIGHT);
Button bt3 = new Button(group1, SWT.RADIO|SWT.CENTER);
对于单选按钮,创建对象时要指定按钮所属的父类,也就是说,要说明哪几个按钮属于哪一个组。
多选按钮:
Button bt1 = new Button(group, SWT.CHECK|SWT.LEFT);
Button bt2 = new Button(group, SWT.CHECK|SWT.RIGHT);Button bt2 = new Button(group, SWT.CHECK|SWT.RIGHT);Button bt4 = new Button(group, SWT.CHECK|SWT.FLAT);Button bt5 = new Button(group, SWT.CHECK|SWT.BORDER);按钮添加事件:Button ok = new Button(group, SWT.PUSH);ok.setText("确定");ok.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent event){for(int i=0;i<5;i++){if(buttons[i].getSelection()){System.out.println(buttons[i].getText());}}System.out.println("------------------");}});按钮添加图标://添加系统图标button1.setImage(display.getSystemImage(SWT.ICON_ERROR));//添加外部图标button5.setImage(new Image(display, "E:\\IMAG0016.jpg"));