版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
前言
界面变成少不了快捷键的使用,经过测试在JavaFX中添加快捷键有可能只能在Scene(场景)中添加,因为我只在Scene中找到了.getAccelerators()方法,而据我对JavaFX的使用来看,快捷键就是要put放入这个里面的。
快捷键的使用分两步走:1、创建快捷键(比如:CTRL+A);2、添加(put)快捷键,并绑定你要执行的操作;
1、创建快捷键
/**
* Ctrl+A
*/
private KeyCombination CTRL_A = new KeyCodeCombination(KeyCode.A, KeyCombination.SHORTCUT_DOWN);
/**
* ALT+A
*/
private KeyCombination ALT_A = new KeyCodeCombination(KeyCode.A, KeyCombination.ALT_DOWN);
说明:
KeyCombination.SHORTCUT_DOWN:CTRL键按下
KeyCombination.ALT_DOWN:ALT键按下
还有其他的比如常用的 KeyCombination.SHIFT_DOWN:SHIFT键按下
其他自己看吧https://docs.oracle.com/javase/8/javafx/api/javafx/scene/input/KeyCombination.html
2、添加快捷键
scene.getAccelerators().put(CTRL_A, new Runnable() {
public void run() {
// 这个自己看,用处不大
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("这是CTRL+A快捷键弹出的框框");
alert.showAndWait();
}
});
3、实例
package zkh.javafx.learn.keycombination;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
/**
* KeyCombination
*/
// 继承javafx.application.Application是JavaFX的开始
public class KeyCombination1 extends Application {
/**
* Ctrl+A
*/
private KeyCombination CTRL_A = new KeyCodeCombination(KeyCode.A, KeyCombination.SHORTCUT_DOWN);
/**
* Stage:就是你能看到的整个软件界面(窗口)
* Scene:就是除了窗口最上面有最大、最小化及关闭按钮那一行及窗口边框外其它的区域(场景)
* 场景(Scene)是一个窗口(Stage)必不可少的
*/
@Override
public void start(Stage stage) throws Exception {
// 1、初始化一个场景
Scene scene = new Scene(new Label(), 400, 300);
scene.getAccelerators().put(CTRL_A, new Runnable() {
public void run() {
// 这个自己看,用处不大
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("这是CTRL+A快捷键弹出的框框");
alert.showAndWait();
}
});
// 2、将场景放入窗口
stage.setScene(scene);
// 3、打开窗口
stage.show();
}
public static void main( String[] args ){
// 启动软件
Application.launch(args);
}
}
效果动图:
4、源代码(不推荐,文章基本都有了)
JavaFX+Jfoenix 学习笔记(九)--KeyCombination快捷键源码
好了,多看注释!