5

我有一个 Java swing 启动程序来启动另一个类(运行它的 main 方法)。每个程序都有它的取消按钮来退出自己。

System.exit(0);在按下此取消按钮时使用。

启动程序执行此操作actionPerformed

if (source==carMenuItem) {
    ta.append("Car launched\n");
    TestCar.main(par);

}
if (source==DialogboxMenuItem) {
    ta.append("Dialogbox launched\n");            
    DialogBox.main(par);
}        
if (source==LengthConversionMenuItem) {
    ta.append("LengthConversion launched\n");            
    LengthConversion.main(par);           
}

当我按下程序的取消按钮时,它也会关闭我的启动程序。我怎样才能避免这种情况?

4

4 回答 4

2

或者您可以使用dispose()方法代替System.exit():-因为System.exit()它将终止它自己的整个应用程序。

或者你可以使用setVisible()as false。

于 2011-09-13T06:30:46.620 回答
2

你必须实现WindowListener及其,这里WindowEvents的例子

另一个选项是setDefaultCloseOperation正确

于 2011-09-13T06:34:19.490 回答
2

System.exit() 终止 VM,因此您的初始线程也终止,只需从您的 main() 方法返回。

在查看您的代码后:并非所有类都应该有一个 main() 方法(如果不是也单独使用)。您应该考虑调用构造函数来创建类的实例并调用未命名为 main() 的方法。

于 2011-09-13T06:24:37.077 回答
1

使用 System.exit 你不能。这将终止整个 JVM 和其中的所有进程。

于 2011-09-13T06:24:52.290 回答