在从 KeyListener 获取操作后,使用 event.getKeyCode() 并稍后使用 KeyEvent.getKeyText(keyCode),我将如何检查 .getKeyText(keyCode) 的结果是否是单个字符,例如“a”而不是像“空间”这样的整个词?
问问题
2654 次
4 回答
0
您可以使用 KeyEvent 的 getKeyChar(),然后您可以确定您返回的是单个字符。
例如这样的:
public void keyTyped(KeyEvent e) {
keyChar = e.getKeyChar();
...
}
于 2013-08-12T18:45:44.143 回答
0
这个怎么样:
KeyEvent.getKeyText(keyCode).length == 1
于 2013-08-12T18:47:14.277 回答
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.
}
}
于 2013-08-12T18:48:58.947 回答
0
该解决方案适用于除删除键和小键盘键之外的所有内容...
event.getKeyChar() != '\uFFFF'
因为任何 Java 都会为不可渲染的键输出该字符,所以它的工作方式非常一致。
要解决删除密钥问题...
event.getKeyChar() != '\uFFFF' && event.getKeyCode() != KeyEvent.VK_DELETE
true
如果密钥可打印,它将返回,否则返回false
。
于 2017-05-13T00:57:08.907 回答