为了账号安全,请及时绑定邮箱和手机立即绑定

防止按钮在回车键或空格键被按下 Javafx 时触发

防止按钮在回车键或空格键被按下 Javafx 时触发

桃花长相依 2022-08-03 15:35:03
我在场景中有一个按钮,每当按下空格键或回车键时,这个按钮都会自动触发。我希望用户能够在不触发此按钮的情况下键入这些键。我已经尝试过在场景中的其他节点上执行并调用请求焦点方法。如何防止在按下这些键时触发此按钮。感谢您的任何帮助。root.requestFocus()编辑:到目前为止,我刚刚完成了使Javafx应用程序工作的样板代码,添加了该按钮和一些标签。我已经在应用程序中的几个节点中尝试了 requestFocus() 方法,但这些节点都没有带来任何影响。我还有一个动作事件侦听器,用于按下的键。scene.setOnKeyPressed
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

您可以使用该方法(文档)。这可以防止按钮自动聚焦,例如通过按 Tab 键。button.setFocusTraversable()


Button button = new Button("Some Action");

button.setFocusTraversable(false);

button.setOnAction(event -> System.out.println("Some action called!"));


查看完整回答
反对 回复 2022-08-03
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

您是否尝试过为使用事件添加事件筛选器?javafx.scene.input.KeyEvent



查看完整回答
反对 回复 2022-08-03
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

假设你有焦点,你不希望你做它的默认行为,即在被点击时为自己(和远离)焦点。当获得焦点时,此代码将立即将焦点交还给 。defaultFocusNodebuttondefaultFocusNodebuttonbuttondefaultFocusNode

button.focusedProperty().addListener((observableValue, oldValue, newValue) -> {
        if (newValue)  defaultFocusNode.requestFocus();
      });


查看完整回答
反对 回复 2022-08-03
  • 3 回答
  • 0 关注
  • 270 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信