JavaFX+Jfoenix 学习笔记(九)--KeyCombination快捷键

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_26486347/article/details/96721830

前言

界面变成少不了快捷键的使用,经过测试在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快捷键源码

好了,多看注释!

猜你喜欢

转载自blog.csdn.net/qq_26486347/article/details/96721830