在swt里 按钮组件添加addSelectioner监听
监听里面方法为 java运行cmd命令启动X程序。
当我点击启动程序的时候swt就卡死了,电脑没卡,用进程关了X程序,SWT就不卡,
我用个test类单独跑java调cmd命令启动程序也不卡。
请问是什么原因??我的监听方法用错了??说明你在 java运行cmd命令启动X程序的时候,程序阻塞了。
就是说,x程序不返回,程序就卡在那里了。
在不能改变x程序情况你可以把你的程序监听事件里面起一个新的线程去调用x程序。
这样你的主窗口就不会被阻塞。
代码如下:
new Thread(new Runnable() {
public void run() {
// run X 程序;
}
}).start();