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

我在场景中有一个按钮,每当按下空格键或回车键时,这个按钮都会自动触发。我希望用户能够在不触发此按钮的情况下键入这些键。我已经尝试过在场景中的其他节点上执行并调用请求焦点方法。如何防止在按下这些键时触发此按钮。感谢您的任何帮助。root.requestFocus()

编辑:到目前为止,我刚刚完成了使Javafx应用程序工作的样板代码,添加了该按钮和一些标签。我已经在应用程序中的几个节点中尝试了 requestFocus() 方法,但这些节点都没有带来任何影响。我还有一个动作事件侦听器,用于按下的键。scene.setOnKeyPressed


桃花长相依
浏览 271回答 3
3回答

慕的地10843

您可以使用该方法(文档)。这可以防止按钮自动聚焦,例如通过按 Tab 键。button.setFocusTraversable()Button button = new Button("Some Action");button.setFocusTraversable(false);button.setOnAction(event -> System.out.println("Some action called!"));

慕雪6442864

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

小唯快跑啊

假设你有焦点,你不希望你做它的默认行为,即在被点击时为自己(和远离)焦点。当获得焦点时,此代码将立即将焦点交还给 。defaultFocusNodebuttondefaultFocusNodebuttonbuttondefaultFocusNodebutton.focusedProperty().addListener((observableValue, oldValue, newValue) -> {         if (newValue)  defaultFocusNode.requestFocus();       });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java