为什么我仍然可以输入这个特殊字符“`”,“_”和“^”

时间:2016-09-28 10:40:00

标签: java netbeans

为什么我仍然可以在jtextfield中输入这个特殊字符“`”,“_”和“^”。用这个

   private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {                                     
   char c = evt.getKeyChar();
   if (!((c >= 'A') && (c <= 'z') ||
          (c == KeyEvent.VK_SPACE)||
          (c == KeyEvent.VK_MINUS)||
     (c == KeyEvent.VK_BACK_SPACE) ||
     (c == KeyEvent.VK_DELETE))) {
    getToolkit().beep();
    evt.consume();
    }

1 个答案:

答案 0 :(得分:1)

因为这些字符的代码介于&#39; Z&#39;和&#39; a&#39;什么满足你的第一个条件(c >= 'A') && (c <= 'z')

DEC HEX BIN      CHR
...
88  58  01011000  X
89  59  01011001  Y
90  5A  01011010  Z
91  5B  01011011  [
92  5C  01011100  \
93  5D  01011101  ]
94  5E  01011110  ^  <---
95  5F  01011111  _  <---
96  60  01100000  `  <---
97  61  01100001  a
98  62  01100010  b
99  63  01100011  c
...

这六个字符填补了32个字符,因为字母表只有26个字母,但我们希望让a代码01100001(如A { {1}})。通过这种方式,人类可以(并且仍然)更容易阅读。