JavaFX KeyEvent返回KeyCode.UNDEFINED [英] JavaFX KeyEvent returns KeyCode.UNDEFINED

查看:810
本文介绍了JavaFX KeyEvent返回KeyCode.UNDEFINED的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I created a simple JavaFX application that receives input from the user in a TextField. I attached the KeyTyped event from SceneBuilder to the controller. My function looks like this:

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

当我输入回车键时,此功能始终打印出UNDEFINED。有想法该怎么解决这个吗?我打字的其他字母似乎也有同样的问题。

This function always prints out UNDEFINED when I type the enter key. Any ideas on how to fix this? Other letters I type seem to have the same problem as well.

推荐答案

KeyTyped 是一个特殊的事件。它没有 KeyCode 但是设置了字符

KeyTyped is a special event. It doesn't have KeyCode but has character set instead.

查看字母'a'的示例:

See example for letter '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()


与此键中的键相关联的键代码或键
发布活动。对于键入事件,代码总是
KeyCode.UNDEFINED。

The key code associated with the key in this key pressed or key released event. For key typed events, code is always KeyCode.UNDEFINED.

这篇关于JavaFX KeyEvent返回KeyCode.UNDEFINED的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆