通常我们将Key Listener应用于特定组件,如文本字段,密码字段等。但我想将此侦听器行为概括为适用于所有组件。
答案 0 :(得分:6)
Swing旨在与Key Bindings一起使用,它可以做你想要的。我首先查看Key Bindings。不要忘记阅读Swing教程以获取完整信息。
如果这没有帮助,请参阅Global Event Listeners以获取一些建议。
答案 1 :(得分:1)
所有swing组件都是JComponent。您可以将所有这些用作JComponent:
@Override
public void keyTyped(KeyEvent e) {
JComponent component = (JComponent) e.getSource();
// TODO Implements your action
}
您可以看到这是一种有限的方法。
您也可以根据来源类别工作:
@Override
public void keyTyped(KeyEvent e) {
Object source = (JComponent) e.getSource();
if (source instanceof JTextField) {
// TODO Implment action for JTextField
} else if (source instanceof JTextArea) {
// TODO Implment action for JTextArea
}
}
根据您的需要,您可以使用Reflections API执行此操作...