(样图没有贴上,不好意思)
1、Eclipse中swt的配置
建议配置:jdk1.4.2以及eclipse3.1
在代码中调用swt控件之前,首先建立一个项目,然后选择该项目的properties -> Java Build Path,将standard Widget ToolKit加入到Library页当中。如下图所示:
接下来可以建立第一个eclipse小程序,新建一个class,并且在该class所对应的代码中输入如下程序,其中package以及class名称根据实际情况来确定名称。
package mypakage;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
/*导入需要的类库*/
public class Myfrm1 {
public Myfrm1() {
super();
}
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
/*shell为一个窗口对象*/
Label label = new Label(shell, SWT.NONE);
label.setText("Hello, World!"); /*创建一个标签对象并且设置标题文字*/
label.pack();
shell.pack();
shell.open(); /*打开并显示窗口*/
while(!shell.isDisposed())
if(!display.readAndDispatch())
display.sleep(); /*在窗口没有销毁之前,显示对象一直处于等待状态*/
display.dispose(); /*否则,销毁对象,释放对象所占据的资源*/
label.dispose();
}
}
运行上述代码(run -> debug -> swt application)将产生如下所示的一个窗口
2、button的使用
按钮可能的类型有很多,例如:
SWT.BORDER 含有边框的按钮
SWT.CHECK 复选按钮
SWT.PUSH 普通按钮
SWT.RADIO 单选按钮
3、Text的使用
文本框的类型也有很多种选择,例如:
SWT.BORDER 含有边框
SWT.READ_ONLY 只读
下图为包含按钮以及文本框的窗口
设计上述窗口所对应的代码为:
package mypakage;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
public class Myfrm1 {
public Myfrm1() {
super();
}
public static void main(String[] args) {
Display display = new Display( );
Shell shell = new Shell(display);
shell.setSize(300, 200);
shell.setLayout(new RowLayout( ));
shell.setText("Button Example");
final Button button = new Button(shell, SWT.BORDER);
button.setText("Click Me");
final Text text = new Text(shell, SWT.BORDER);
shell.open( );
while(!shell.isDisposed( )) {
if(!display.readAndDispatch( )) display.sleep( );
}
display.dispose( );
}
}
如果想对控件的位置以及大小进行精确的设置,可以使用setBounds(x, y, width, height)方法来取代shell.setLayout(new RowLayout( ))。例如:button.setBounds(80, 80, 90, 20);
button的监听及事件处理
对按钮单击事件处理的代码:
button.addSelectionList