问题描述
我是用 Swing Java 编写问答游戏的初学者,我希望用户通过按一个键来回答问题。 我无法让程序等到按下某个键。
我尝试调用该方法,然后使用 Getter 方法对 answer1 进行 while 循环以“暂停”程序,直到变量是我想要的答案,但当我这样做时程序就冻结了。
public static void addKeyBinding(int keyCode,String id,ActionListener lambda){
InputMap im = GUI().getInputMap(WHEN_IN_FOCUSED_WINDOW);
ActionMap am = GUI().getActionMap();
im.put(Keystroke.getKeystroke(keyCode,false),id);
am.put(id,new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
lambda.actionPerformed(e);
}
});
}
public char keyOperationSinglePlayer(){
addKeyBinding(KeyEvent.VK_A,"A",(evt) -> {
answer1 = 'a';
});
addKeyBinding(KeyEvent.VK_S,"S",(evt) -> {
answer1 = 'b';
});
addKeyBinding(KeyEvent.VK_D,"D",(evt) -> {
answer1 = 'c';
});
addKeyBinding(KeyEvent.VK_F,"F",(evt) -> {
answer1 = 'd';
});
return answer1;
}`
谢谢
public class GUI extends JPanel
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)