我必须为我的任务做一个蛙人游戏,我的关键方法不起作用。我正在使用公共无效密钥,并且不知道为什么我的箭头键没有注册? 对不起,我是这个网站的新手。我的代码:
bool created = sqlQuery.exec("CREATE TABLE IF NOT EXISTS my_table(<column info>);");
}
答案 0 :(得分:2)
您必须添加KeyListener
才能获得KeyEvents
(或使用KeyBindings)。
一旦您从KeyEvents
(或KeyBinding的KeyListener
)获得ActionEvents
,您就可以将这些事件委托给您的工作方法
我将向您展示如何使用keyBinding,它是更优雅的方法
public void addKeyBinding(){
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT),
"left")
//map as many keys as you want
}
之后,您必须使用ActionListener
侦听这些事件public class FroggerComponent extends JComponent implements ActionListener {
//...
@Override
public void actionPerformed(ActionEvent e){
if ("left".equals(e.getActionCommand()){
key(KeyEvent.VK_LEFT)
}
}
}
你只需添加ActionListener然后
public FroggerComponent(String filename) {
//...
addActionListener(this);
}