我有一个非常简单的选择你的路径,我在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);
被使用。
答案 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);
}
}