我在場景中有一個按鈕,每當按下空格鍵或回車鍵時,這個按鈕都會自動觸發。我希望用戶能夠在不觸發此按鈕的情況下鍵入這些鍵。我已經嘗試過在場景中的其他節點上執行并調用請求焦點方法。如何防止在按下這些鍵時觸發此按鈕。感謝您的任何幫助。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!"));

小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
假設你有焦點,你不希望你做它的默認行為,即在被點擊時為自己(和遠離)焦點。當獲得焦點時,此代碼將立即將焦點交還給 。defaultFocusNode
button
defaultFocusNode
button
button
defaultFocusNode
button.focusedProperty().addListener((observableValue, oldValue, newValue) -> { if (newValue) defaultFocusNode.requestFocus(); });
添加回答
舉報
0/150
提交
取消