JavaFX如何为按钮设置快捷键?

本秂侑毒 提交于 2019-12-22 14:09:22

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()哦注意:他不是创建了新的线程。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!