Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 默认选择的JButton_Java_Swing_Jbutton - Fatal编程技术网

Java 默认选择的JButton

Java 默认选择的JButton,java,swing,jbutton,Java,Swing,Jbutton,所以,我只是想知道。假设我有一个简单的乒乓球游戏,由两个按钮组成,作为乒乓球,通过按键输入移动,一个较小的按钮用于在计时器中移动球,一个文本框用于得分。当我做这个的时候,我必须先点击按钮才能移动它。有没有一种方法可以使程序运行时默认选中按钮,这样我就可以直接按键将其移动,而不必先单击它?谢谢 我认为您可以使用requestFocus()默认选择一个。 比如: defaultJButton.requestFocus(); 您应该在初始化时或每次要重新启动时重置状态或类似操作。使用JFrame根窗

所以,我只是想知道。假设我有一个简单的乒乓球游戏,由两个按钮组成,作为乒乓球,通过按键输入移动,一个较小的按钮用于在计时器中移动球,一个文本框用于得分。当我做这个的时候,我必须先点击按钮才能移动它。有没有一种方法可以使程序运行时默认选中按钮,这样我就可以直接按键将其移动,而不必先单击它?谢谢

我认为您可以使用requestFocus()默认选择一个。 比如:

defaultJButton.requestFocus();

您应该在初始化时或每次要重新启动时重置状态或类似操作。

使用
JFrame
根窗格的
setDefaultButton
方法:

myFrame.getRootPane().setDefaultButton(button);

在帧
构造器中
制作按钮后使用以下代码:

this.getRootPane().setDefaultButton(button);

调整逻辑,使JButton中的代码在正常程序流中执行。可以使用键盘上的键绑定(pong game)和上下键执行“是”,然后无需任何焦点即可将InputMap、ActionMap正确设置为所需容器(为了避免其他可聚焦JComponents的一致性,请确保它们是…)-1,不要使用requestFocus()。请阅读该方法的API文档。它将建议使用正确的方法。您需要设置框架的
根窗格
的默认按钮。