首页 > 解决方案 > JAVA - 当用户点击进入 java swing 时按下按钮

问题描述

我有一个猜谜游戏,用户输入一个从 1 到 10 的数字,然后尝试猜对。

我在一个开始新游戏的窗口中有一个按钮:

    btnPlayAgain = new JButton("Play Again!");
    btnPlayAgain.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            newGame();
        }
    });
    btnPlayAgain.setBounds(146, 115, 141, 21);
    getContentPane().add(btnPlayAgain);
    btnPlayAgain.setVisible(false);

我希望用户按下Enter并点击按钮。

这是我所有的代码:。这是带有再次播放按钮的窗口的样子:猜谜游戏窗口

当用户点击该按钮时,如何让该播放按钮再次点击?

标签: javaswingjframe

解决方案


当答案正确时,您可以将默认按钮设置为JFrame再次播放按钮。

btnGuess.setVisible(false);
txtGuess.setVisible(false);
message = guess + " is correct. Let's play again!";
btnPlayAgain.setVisible(true);
getRootPane().setDefaultButton(btnPlayAgain);

调用该newGame方法时,您可以将默认按钮重置为null

public void newGame() {
    numberOfTries = 8;
    theNumber = (int) (Math.random() * 10 + 1);
    btnGuess.setVisible(true);
    txtGuess.setVisible(true);
    btnPlayAgain.setVisible(false);
    lblOutput.setText("Enter a number above and click Guess!");
    getRootPane().setDefaultButton(null);
}

推荐阅读