从KeyListener获取操作后,使用event.getKeyCode()以及稍后的KeyEvent.getKeyText(keyCode),我将如何检查.getKeyText(keyCode)的结果是否是单个字符,如'a'而不是像“太空”这样的整个词?
答案 0 :(得分:0)
你可以使用KeyEvent的getKeyChar(),然后你会确定你得到的是一个字符。
E.g。像这样的东西:
public void keyTyped(KeyEvent e) {
keyChar = e.getKeyChar();
...
}
答案 1 :(得分:0)
这个怎么样:
KeyEvent.getKeyText(keyCode).length == 1
答案 2 :(得分:0)
试试这个: -
if ((event.keyCode > 64 && event.keyCode < 91) || (event.keyCode > 96 && event.keyCode < 123) || event.keyCode == 8)
{
if(KeyEvent.getKeyText(keyCode).length == 1)
{
//Only one character is pressed.
}
}
答案 3 :(得分:0)
此解决方案适用于除删除键和小键盘键之外的所有内容......
event.getKeyChar() != '\uFFFF'
因为任何Java输出都是非可渲染键的字符,所以它的工作非常一致。
修复删除密钥问题...
event.getKeyChar() != '\uFFFF' && event.getKeyCode() != KeyEvent.VK_DELETE
如果密钥是可打印的,它将返回true
,如果不是,则返回false
。