亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止按鈕在輸入或按下空格時觸發Javafx

防止按鈕在輸入或按下空格時觸發Javafx

米脂 2022-07-27 21:45:09
我在場景上有一個按鈕,只要按下空格鍵或回車鍵,這個按鈕就會自動觸發。我希望用戶能夠在不觸發此按鈕的情況下鍵入這些鍵。我已經嘗試root.requestFocus()在場景中的其他節點上執行和調用請求焦點方法。按下這些鍵時,如何防止此按鈕觸發。謝謝你的幫助。編輯:到目前為止,我剛剛完成了使 Javafx 應用程序工作的樣板代碼,添加了該按鈕和一些標簽。我已經在我的應用程序的幾個節點中嘗試了 requestFocus() 方法,但都沒有產生任何影響。我還有一個scene.setOnKeyPressed按鍵的動作事件監聽器。
查看完整描述

3 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

您可以使用該button.setFocusTraversable()方法(docs)。這可以防止按鈕自動聚焦,例如通過按TAB。


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

button.setFocusTraversable(false);

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


查看完整回答
反對 回復 2022-07-27
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

您是否嘗試過添加一個事件過濾器來javafx.scene.input.KeyEvent消耗該事件?



查看完整回答
反對 回復 2022-07-27
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

假設您defaultFocusNode有焦點,并且您不希望您在單擊時button執行其默認行為,即為自己(和遠離defaultFocusNode)焦點button。當button獲得焦點時,此代碼將立即將焦點返回給defaultFocusNode.


button.focusedProperty().addListener((observableValue, oldValue, newValue) -> {

        if (newValue)  defaultFocusNode.requestFocus();

      });


查看完整回答
反對 回復 2022-07-27
  • 3 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號