javafx 2.2 键码输入

标签 javafx keyevent

我正在开发 JavaFX 2.2 中的应用程序。我正在使用两个字段(用户名和密码)登录到事件目录,并有一个登录按钮。这一切都很完美。但是我添加了一个 KeyEvent EventHandler 来处理按下 ENTER 的关键事件。问题是当用户按下 SHIFT 键时它也会被使用。下面是我的处理程序的代码,应用程序中没有使用其他 KeyEvent 处理程序。

import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent; 
...   
private EventHandler<KeyEvent> keyListener = new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent event) {
        if(event.getCode() == KeyCode.ENTER); {
            startLogin();
            getContext();
            try {
                checkUserLevel();
            } catch (Exception e) {
                actionTarget.setText("Unable to authenticate user\n" + userTextField.getText());
            }
            event.consume();
        } 
    }
};

这是 JavaFX 中的错误吗?

最佳答案

您必须删除分号。来自

if(event.getCode() == KeyCode.ENTER); {

if(event.getCode() == KeyCode.ENTER) {

此外,在 Swing 中,我确信您可以添加 ActionListenerJTextBox直接,当 JTextBox 按下 enter 时它会触发 Action 事件作为焦点。它会防止在不相关的上下文中触发您的操作。希望 JavaFX 中存在类似的东西!

关于javafx 2.2 键码输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521494/

相关文章:

java - android - 获取软键盘按键

java - '<> 不是抽象的,即使不使用 keyReleased,也不会覆盖抽象方法 keyReleased'

java - 如何在 macOS 上使用 JavaFX 打开应用程序的新实例

java - 马文 : Build native installer of javaFX application with Inno Setup script

java - 开始使用 TestFx

Java - 收集过去值的最佳方法

Android:帮助创建一个按钮,它产生与按下方向键上的向下键相同的结果? (第2部分)

java - 检查 JavaFX 平台是否退出

java - 当我运行程序时没有可用的类(class)?

java - 为什么没有检测到 key ?