1.线程
Display对象中负责调用其他线程的方法有以下3种:
● asyncExec(Runnable runnable):异步启动新的线程。所谓异步就是,UI线程不会等待runnable对象执行结束后再继续进行,就是说UI线程可以和runnable对象所在的线程同时运行。
● syncExec(Runnable runnable):同步启动新的线程。所谓同步就是,UI线程会等待runnable对象执行结束后才会继续进行,当runnable对象是耗时大的线程时,尽量不要采用此种方式。另外,对于该种方式创建的线程可通过getSyncThread()方法获得线程对象。
● timerExec(int milliseconds,Runnable runnable):指定一段时间再启动新的线程。用此方法创建的线程,将会在指定的时间后再启动线程。当然用此方法创建的线程启动后,与UI线程是异步的。如果指定的时间为负数,将不会按时启动线程。
2.传值
在后台java 类中为swt页面赋值:
Display.getDefault().syncExec(new Runnable() {
public void run() {
HelloWord.content.append(ipAndPort.getIp() + ":"
+ ipAndPort.getPort() + "---->" + "无效" + "/n"); }
});
同时还要考虑线程同步的问题。
3.设置窗体固定大小
shell = new Shell(display, SWT.Close | SWT.MIN);
shell.addControlListener(new ControlListener() {
@Override
public void controlMoved(ControlEvent arg0) {
}
@Override
public void controlResized(ControlEvent arg0) {
shell.setSize(500, 375);
}
});
4.打包
运用打包工具net.sf.fjep.fatjar_0.0.27(要考虑eclipse版本问题)打包工具直接打包,双击打包后的jar文件即可运行