Java应用程序重启或重置按钮

时间:2014-09-27 13:19:37

标签: java button jlabel reset restart

我有一个非常简单的选择你的路径,我在NetBeans IDE中工作的Java游戏。基本上会发生什么,用户将点击三个按钮中的一个,并且设置为JLabel(无)的预制""将被重置为我决定该标签的任何文本应该使用。我这样做是通过添加以下代码来实现的。

private void option1ActionPerformed(java.awt.event.ActionEvent evt) {
    jLabel6.setText("You go down the dark tunnel...");
}

现在这一切都运行正常,但我想通过点击标有"重启"的按钮来重启/重置我的应用程序。我不介意是否必须关闭应用程序然后再打开它,或者它是否只是将所有JLabel重置为""。我只是不想为每一个JLabel键入下面的代码。

jLabel1.setText("");
jLabel2.setText("");
jLabel3.setText("");

我在这个网站上做了一些研究,人们提供的代码似乎都不适用于我的情况,要么是因为它根本不起作用,要么是因为我做错了。任何帮助将不胜感激,请尝试具体,因为我是一个相当新的Java编写,并不了解一切。

如果有人可以为我提供关闭应用程序中的1个窗口而不是整个窗口的方式,那对我来说也很有用,比如

System.exit(0);

被使用。

3 个答案:

答案 0 :(得分:2)

首先,我建议您专门导入JLabel类,这样您就可以编写JLabel而不是javax.swing.JLabel

import javax.swing.JLabel;

不是单独声明每个JLabel,而是创建一个JLabel数组:

JLabel[] jLabels = new JLabel[N]; // where N is the number of JLabels

每当您需要访问JLabel时,请使用:

jLabels[6].setText("You go down the dark tunnel...");

如果要重置所有JLabel,请使用:

for (JLabel jLabel : jLabels) {
    jLabel.setText("");
}

有关数组的详细信息,请阅读http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

答案 1 :(得分:0)

如果您将程序作为可执行jar文件,则可以使用

public void restert(){
     Runtime.getRuntime().exec("java -jar yourapp.jar");
     System.exit(0);
}

如果您想了解有关重新启动Java应用程序的更多信息,可以查看this

答案 2 :(得分:0)

找到我自己的问题的答案:

感谢Holger建议"处置"。这就是我发现的工作。

private void restartButtonActionPerformed(ActionEvent evt)  {
    if(evt.getSource() == restartButton)
    {
        dispose();
        MyGUI game = new MyGUI();
        game.setVisible(true);
    }
}