假设我在Process
课堂上运行一个程序,例如:
Process p1 = Runtime.getRuntime().exec("setup.exe");
try {
p1.waitFor();
} catch (InterruptedException e) {
//Whatever
}
然后我的GUI
课堂上也有一个取消按钮,类似于:
private void cancelButtonActionPerformed(ActionEvent e) {
//Need to interrupt the thread from here!
System.exit(0);
}
只需按原样退出程序,我创建的 setup.exe 进程就会继续Process.java
运行,这是一个问题。通常我会打电话p1.destroy()
,但我在两个班级之间建立联系时遇到了问题。
我们欢迎所有的建议!
编辑:
private void beginThread() {
SwingWorker<String, Void> myWorker = new SwingWorker<String, Void>() {
@Override
protected String doInBackground() throws Exception {
//Do some stuff
}
return null;
}
};
myWorker.execute();
}