Java:重置按钮不起作用

Posted

技术标签:

【中文标题】Java:重置按钮不起作用【英文标题】:Java: Reset button isn't working 【发布时间】:2017-09-13 07:53:53 【问题描述】:

好的,所以我正在创建这个程序,当您单击重置按钮时,它会关闭程序并从启动时打开一个新的相同程序但是,我无法理解如何做到这一点:/ 这是我的代码按钮..这段代码基本上退出了第一个程序,但它不会在新应用程序中再次打开它。

 button1.addActionListener(new ActionListener() 
                    @Override
                    public void actionPerformed(ActionEvent e) 


                        System.exit(0);
                        new Tests();
                    

                );

【问题讨论】:

System.exit(0) 杀死一切。之后的线路无法到达。如果你换行,它也不起作用——你必须使用System.exit(0)以外的东西。 System.exit(0); 强制关闭整个虚拟机;之后立即分配的任何内容都将被丢弃。 你应该做一些更“离散”的事情。 你可以使用 this.setVisible(false) 代替 System.exit(0) 他们所说的一切都是真的。因此,您必须创建一个全新的流程,该流程将在该流程的生命周期之外存在。换句话说,System.lang.Runtime.exec("java -jar com.awesome.program.jar") 【参考方案1】:

这段代码基本上退出了第一个程序,但没有打开它 再次在新的应用程序中。

System.exit(0); 终止当前的 JVM 进程。 之后的所有指令都不会执行。

如果你想重启你的应用程序,你应该执行启动你的应用程序的 JVM 的命令。如果是罐子:java -jar yourJar -cp yourClasspath。 您可以使用 ProcessBuilder 实例来实现它。

另一种方法不是重新启动应用程序,而是将应用程序的状态设置为其初始状态。

【讨论】:

hmm Idk 怎么做这个重置的事情然后:/ 我该怎么做请帮忙 嗯,你能不能给我一个例子:) 第一个,看这个链接:***.com/questions/4159802/…。对于第二个,这取决于您的应用程序。如果你想要一个具体的例子,请编辑并提供更多细节。 顺便说一句,对于一个非常菜鸟的问题很抱歉,但是 jar 到底是什么以及你如何检查名称 没问题 :) jar 是打包类的基本方式。您甚至可以打包成一个可运行的 java 应用程序。如果你不使用 jar,你可以忘记 -jar arg...暂时 :)【参考方案2】:

System.exit(0); 杀死你的整个程序。在你真正完成之前不要使用它。

您需要将整个程序(至少是您要再次执行的部分)放在一个循环中。当您单击重置按钮时,您将回到循环的顶部(或任何您想要的位置)。只要记住要有一个退出条件来终止循环,否则它将永远持续下去。

【讨论】:

你的意思是 while(true) // 运行代码 if(false) 回到起点? while(true) 是一种方法。更好的方法是在 while 循环中实际使用您的条件。我不确定你什么时候用 if(false) 说,因为那永远不会执行。

以上是关于Java:重置按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Magento密码重置不起作用

设计忘记密码不起作用

MariaDB 密码重置不起作用

重置价值不起作用?

text 硬重置不起作用

执行 XCUITest 时,Tap 方法在今日视图中不起作用