如何只退出我的子程序,而不是整个VM?

hkg*_*ile 5 java exit system.exit

我有一个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);           
}
Run Code Online (Sandbox Code Playgroud)

当我按下程序的取消按钮时,它也会关闭我的启动程序.我该如何避免这种情况?

sta*_*ker 2

System.exit() 终止虚拟机,因此您的初始线程也被终止,只需从 main() 方法返回即可。

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