javafx 2.2 keycode.enter

xan*_*ash 2 javafx keyevent

我正在使用JavaFX 2.2中的应用程序.我正在使用两个字段(用户名和密码)登录到活动目录,并有一个登录按钮.一切都很完美.但是我添加了一个KeyEvent EventHandler来处理按ENTER的键事件.问题是当用户按下SHIFT键时也会使用它.下面是我的Handler的代码,并且在应用程序中没有使用其他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();
        } 
    }
};
Run Code Online (Sandbox Code Playgroud)

这是JavaFX中的错误吗?

Ale*_*dre 5

你必须删除分号.从

if(event.getCode() == KeyCode.ENTER); {
Run Code Online (Sandbox Code Playgroud)

if(event.getCode() == KeyCode.ENTER) {
Run Code Online (Sandbox Code Playgroud)

此外,在秋千我知道肯定可以添加ActionListenerJTextBox直接,而当按下回车它会触发该动作的事件JTextBox为重点.它会阻止您在不相关的上下文中触发您的操作.希望JavaFX中存在类似的东西!