JavaFX KeyEvent returns KeyCode.UNDEFINED



我创建了一个简单的JavaFX应用程序,该应用程序在TextField中接收来自用户的输入。我将 KeyTyped 事件从 SceneBuilder 附加到控制器。我的函数如下所示:

@FXML private void keyTyped(KeyEvent event) {
    System.out.println(event.getCode().equals(KeyCode.ENTER));
}

当我键入回车键时,此函数总是打印出未定义。关于如何解决这个问题的任何想法?我输入的其他字母似乎也有同样的问题。

KeyTyped是一个

特殊的事件。它没有KeyCode,而是设置了character

请参阅字母"a"的示例:

KeyEvent [source = TextField[id=null, styleClass=text-input text-field], 
target = TextField[id=null, styleClass=text-input text-field], eventType = KEY_TYPED, consumed = false, 
character = a, text = , code = UNDEFINED]

和javadoc:http://docs.oracle.com/javafx/2/api/javafx/scene/input/KeyEvent.html#getCode()

与此键中的键关联的键代码 按下或键 已发布事件。对于键类型事件,代码始终 密钥代码.未定义。

最新更新