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

JavaFX爲按鈕設置快捷鍵的方式有不少,先說下常見的一種。ide

第一種:spa

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構造方法的內容,直接用字符串的形式也是能夠的。
 

第三種:(推薦使用)code

 

KeyCodeCombination kc1 = new KeyCodeCombination(KeyCode.W, KeyCodeCombination.CONTROL_DOWN);
        scene.getAccelerators().put(kc1, new Runnable() {
            
            @Override
            public void run() {
                System.out.println("事件");
            }
});
解析:
這個方法很是靈活,可是你會發現他沒有和按鈕綁定,也就是說,他能夠設置全局的快捷方式。若是須要和按鈕綁定,方法很簡單,調用按鈕的方法就好了!(能夠用封裝的方法)還能夠用b1.fire()哦注意:他不是建立了新的線程。
相關文章
相關標籤/搜索