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