我正在使用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中的错误吗?
你必须删除分号.从
if(event.getCode() == KeyCode.ENTER); {
Run Code Online (Sandbox Code Playgroud)
至
if(event.getCode() == KeyCode.ENTER) {
Run Code Online (Sandbox Code Playgroud)
此外,在秋千我知道肯定可以添加ActionListener到JTextBox直接,而当按下回车它会触发该动作的事件JTextBox为重点.它会阻止您在不相关的上下文中触发您的操作.希望JavaFX中存在类似的东西!
| 归档时间: |
|
| 查看次数: |
8955 次 |
| 最近记录: |