我正在寻找一种方法,使我的程序在等待按下按钮后才继续执行函数。在我的主函数中,我调用一个函数来显示基本的GUI,使用JPanel、按钮和标签。当然,它会显示GUI并结束该函数,不允许我更改GUI。
public static Player player = new Player();
public static Gui gui = new Gui();
public static boolean inMain = true;
public static boolean inBattle = false;
public static void main(String[] args){
showMainGui();
}
我认为我需要的是类似下面这样的东西:
我认为我需要的是类似下面这样的东西:
public static void main(String[] args){
showMainGui();
while(inBattle == false){
// wait until inBattle changes
}
}
那个while循环会一直循环等待,直到在showMainGui创建的一个按钮将inBattle更改为true。我应该如何准确地做到这一点?这让我感到相当困惑。我的目标是单击JButton并更改按钮以显示不同的按钮。
我为在showMainGui()上创建的按钮编写了一个操作侦听器;
public class Hunt implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
MainClass.inBattle = true;
}
}
这里是我的showMainGui()方法
public static void showMainGui(){
gui.panel.add(gui.healthLabel);
gui.panel.add(gui.pbsLabel);
gui.panel.add(gui.staminaLabel);
gui.panel.add(gui.levelLabel);
//Adding initial buttons
gui.panel.add(gui.exploreButton);
gui.panel.add(gui.huntButton);
gui.panel.add(gui.newsLabel);
gui.panel.add(gui.effectLabel);
updateGui();
}