JavaFX如何為按鈕設置快捷鍵?


JavaFX為按鈕設置快捷鍵的方式有很多,先說下常見的一種。

第一種:

1 KeyCodeCombination kc1 = new KeyCodeCombination(KeyCode.W, KeyCodeCombination.CONTROL_DOWN);
2 Mnemonic mnemonic1 = new Mnemonic(b1, kc1);
3 scene.addMnemonic(mnemonic1);
解析:
KeyCodeCombination
是一個繼承KeyCombination的一個類這個創建KeyCodeCombination的對象,在構造方法內寫入快件鍵的按鍵。

Mnemonic類似於監聽器綁定的東西,你創建了監聽器你需要綁定控件,new一個Mnemonic的對象就行了。

第二種:(幾乎沒用過)

1 KeyCodeCombination kc1 = new KeyCodeCombination("W", KeyCodeCombination.CONTROL_DOWN);
2 Mnemonic mnemonic1 = new Mnemonic(b1, kc1);
3 scene.addMnemonic(mnemonic1);
解析:
這個方法與上一個比,只是改變了KeyCodeCombination構造方法的內容,直接用字符串的形式也是可以的。
 
        

第三種:(推薦使用)

 

KeyCodeCombination kc1 = new KeyCodeCombination(KeyCode.W, KeyCodeCombination.CONTROL_DOWN);
        scene.getAccelerators().put(kc1, new Runnable() {
            
            @Override
            public void run() {
                System.out.println("事件");
            }
});
解析:
這個方法非常靈活,但是你會發現他沒有和按鈕綁定,也就是說,他可以設置全局的快捷方式。如果需要和按鈕綁定,方法很簡單,調用按鈕的方法就行了!(可以用封裝的方法)
還可以用b1.fire()哦
注意:他不是創建了新的線程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM