Java 如何仅退出子程序,而不退出整个VM?
我有一个JavaSwing启动程序来启动另一个类(运行它的主方法)。 每个程序都有一个退出按钮 我使用Java 如何仅退出子程序,而不退出整个VM?,java,exit,system.exit,Java,Exit,System.exit,我有一个JavaSwing启动程序来启动另一个类(运行它的主方法)。 每个程序都有一个退出按钮 我使用System.exit(0)当按下此取消按钮时 启动器程序在执行的操作中执行此操作: if (source==carMenuItem) { ta.append("Car launched\n"); TestCar.main(par); } if (source==DialogboxMenuItem) { ta.append("Dialogbox launched\n")
System.exit(0)代码>当按下此取消按钮时
启动器程序在执行的操作中执行此操作:
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);
}
当我按下程序的取消按钮时,它也会关闭我的启动程序。如何避免这种情况?终止VM,因此初始线程也会终止,只需从main()方法返回即可
查看代码后:并非所有类都应该有main()方法(如果不是独立使用的话)。您应该考虑调用构造函数来创建类的实例,并调用一个未命名为主()的方法。< p>系统。退出不能。这将终止整个JVM及其内部的所有进程。或者您可以使用dispose()
方法代替System.exit()
:-因为System.exit()
将终止其自身的整个应用程序
或者您可以将setVisible()
用作false。您必须实现及其窗口事件,例如
另一个选项是正确的请参阅我的答案。