如何正确处理Java中的用户输入?
我正在实现一个扩展javax.swing.JFrame的类X 我在X中添加了内部类KeyInputHandler,代码如下:如何正确处理Java中的用户输入?,java,Java,我正在实现一个扩展javax.swing.JFrame的类X 我在X中添加了内部类KeyInputHandler,代码如下: private class KeyInputHandler extends KeyAdapter { public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_LEFT) { } if (e.getKeyCode() == KeyEvent.VK_RIGHT) { ... }
private class KeyInputHandler extends KeyAdapter {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
...
}
if (e.getKeyCode() == KeyEvent.VK_UP) {
...
}
if (e.getKeyCode() == KeyEvent.VK_SPACE) {
...
}
if (e.getKeyCode() == KeyEvent.VK_B) {
...
}
}
}
但由于某种原因,它无法识别我的输入。我必须向类X中添加其他内容吗?KeyListener可能很棘手,而且最重要的是,只有在添加到的组件具有焦点时才能工作。否则你就沉下去了。此外,您还没有在发布的代码中显示您已将KeyListener添加到任何组件的位置。是的,你有它的类,但是你实际使用这个类来创建一个对象并将它添加到任何东西中吗 尽管如此,对于您的应用程序类型和问题,您可能最好使用(查看链接),这是一个更高级别的概念,在关注问题时更灵活 编辑
评论中提出的问题是 什么是焦点
根据,当GUI组件接收键盘输入时,它具有焦点。通常这是通过以某种方式突出显示来表示的。您可以发布工作代码吗?仅仅创建类并不意味着会自动调用它。你打电话给addKeyListener了吗?