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