【问题标题】:javafx 2.2 keycode.enterjavafx 2.2 keycode.enter
【发布时间】:2012-09-20 21:55:25
【问题描述】:

我正在开发 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 中的错误吗?

【问题讨论】:

    标签: javafx keyevent


    【解决方案1】:

    您必须删除分号。来自

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

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

    另外,在 Swing 中,我确信您可以直接将 ActionListener 添加到 JTextBox,并且当 JTextBox 作为焦点时按下回车键时它会触发动作事件。它将防止在不相关的上下文中触发您的操作。希望JavaFX中存在类似的东西!

    【讨论】:

    • 哈!我不敢相信我没有看到...哦,谢谢!
    猜你喜欢
    • 2012-10-04
    • 2012-09-04
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2012-07-01
    • 2012-10-25
    • 2015-04-13
    • 1970-01-01
    相关资源
    最近更新 更多