退格Ascii值与整数?

时间:2014-07-19 15:13:02

标签: java ascii

到目前为止,我有一个只接受数字,退格,删除,小数和连字符的文本字段。代码块是:

if ( ((keyChar > '0') && (keyChar < '9')) ||
(keyChar == '.') || (keyChar == '-') ||
(keyChar == 8 )  || (keyChar == 127) )

当我遗漏&#34;(keyChar == 8)||&#34;并使用

if ( ((keyChar > '0') && (keyChar < '9')) ||
(keyChar == '.') || (keyChar == '-') ||
(keyChar == 127) )

退格键即使介于0和9之间也不起作用?

1 个答案:

答案 0 :(得分:2)

  

退格键即使介于0和9之间也不起作用?

退格键不生成字符,其值未定义。字符实际上可以在文本组件中显示。

假设这是Swing,那么不要尝试使用KeyListener来解决这个问题。 Swing有更新更好的API:

  1. 有关将支持此
  2. 的组件,请参阅Using a Formatted Text Field
  3. 请参阅Implementing a DocumentFilter,了解如何自定义有效字符编辑。