【发布时间】:2014-02-19 19:54:23
【问题描述】:
我已将 KeyListener 添加到 TextArea 并希望检查是否按下了 any 键。 我有以下内容,但检查所有字母和数字太笨拙了:
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_A || e.getKeyCode() == KeyEvent.VK_B ||
e.getKeyCode() == KeyEvent.VK_C ||e.getKeyCode() == KeyEvent.VK_D etc...){
}
}
【问题讨论】:
-
当心,文本组件可能会消耗鼠标事件,这使得它不可靠,通常您会使用 DocumentListener 在文本组件更改时收到通知,如果您想过滤已更改的内容,则使用 DocumentFilter输入
-
啊,谢谢。我以前从未使用过 DocumentListener,我可能会改用它..
-
我赞同@MadProgrammer 的建议。在文本组件上使用 KeyListener 很危险。
标签: java key keyevent any pressed