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()哦注意:他不是建立了新的線程。