【发布时间】:2018-02-22 17:23:45
【问题描述】:
我的应用程序中有大约 50 个按钮。对于我以这种方式创建处理程序的所有按钮:
@FXML
protected void handleFooButtonActionEvent(ActionEvent actionEvent) {
...
}
这样用户可以使用鼠标左键或空格键按下按钮。但是,通常的做法(据我所知)允许用户使用 Enter 键按下按钮。是否可以让所有具有 ActionEvent 处理程序(见上文)的按钮也处理 JavaFX 中的 Enter 键,例如,如果我们引用了 Stage stage、Scene scene 或 Parent root?
【问题讨论】:
-
你的意思是当按钮被选中时,还是一直被选中?
-
@jrtapsell 我的意思是当按钮具有焦点并且用户按下 Enter 键时。
-
这和你想做的类似吗? > stackoverflow.com/questions/25758782/…
-
通常的标准是空格键触发焦点按钮,而不是回车键;改变这可能会让用户感到困惑。如果你真的想使用回车键,你需要在每个按钮上都有一个键事件处理程序。最好的选择可能是子类化按钮并在构造函数中注册键处理程序。但我不建议像那样更改标准行为。
-
@James_D 感谢您的评论。但是,我不能同意你的看法。我检查了几个应用程序 - LibreOffice、FireFox、Ubuntu 所有这些都可以使用 Enter 来按下焦点按钮。
标签: javafx