Java Swing – KeyListener

我如何知道键入的键何时更改我的文本? 或者如果密钥是char?

接口KeyListener包含三个方法:

void keyTyped(KeyEvent)
void keyPressed(KeyEvent)
void keyReleased(KeyEvent)

所以,如果你得到KeyEvent对象中的char,如:

if ("a".equals(KeyEvent.getKeyChar())) System.out.println("It's a letter") 

我想你想知道输入一个特定的键实际打印一个字符或是一些“隐形”控制字符或东西:

在这种情况下,您可以检查KeyEvent中的类型键,它将传递给KeyListener的已实现方法:

这个快速的例子应该可行,虽然我没有测试它。 它在KeyEvent返回的char上构造一个新String,如果char在String中创建了一个可读字符,则调用length()方法为chekc。 有点hacky但我希望你得到它的要点

 public void keyReleased(KeyEvent ke){ if (new String(ke.getKeyChar()).length() == 0){ // do something important... } } 

您可以使用ke.getKeyCode()并检查KeyEvent中的静态字段(VK_F12,VK_ENTER …)

点击这里:

http://docs.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent.html

你需要一个文档监听器。 有关更多信息,请参阅oracle文档: 如何编写文档侦听器