java - 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并点击按钮。
这是我所有的代码:。这是带有再次播放按钮的窗口的样子:
当用户点击该按钮时,如何让该播放按钮再次点击?
解决方案
当答案正确时,您可以将默认按钮设置为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);
}
推荐阅读
- xaml - 无法绑定到可绑定属性 [Prism Application Xamarin Forms]
- c++ - 如何控制 Windows 中的应用程序窗口行为?
- python - 使用 boto3 在 Vultr 对象存储上预签名 URL
- php - 在 MAC OS 上将 postgresSQL 与 XAMPP 连接
- r - 如何在 R 中为 HoltWinters 的这个循环添加预测准确性?
- android - Activity 的 LiveData 泄露了 Fragment
- python - 如何过滤 pd.io.formats.style.Styler pandas 对象
- kotlin - 如何在片段类中创建静态回收器视图适配器 - Kotlin?
- javascript - 如何使用 date-fns 将数字字符串转换为时间?
- typescript - 使用有区别的联合避免代码重复