检查它是否是一个字符

时间:2013-08-12 18:39:41

标签: java string char keyevent

从KeyListener获取操作后,使用event.getKeyCode()以及稍后的KeyEvent.getKeyText(keyCode),我将如何检查.getKeyText(keyCode)的结果是否是单个字符,如'a'而不是像“太空”这样的整个词?

4 个答案:

答案 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