[英]Java Swing - KeyListener
我怎么知道键入的键何时更改了我的文本? 还是如果键是一个字符?
接口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()方法进行检查。 有点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文档: 如何编写文档监听器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.