我的代码如下
getApplication().getScene().setOnKeyPressed(new EventHandler<KeyEvent>() {
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.ESCAPE) {
System.out.println("Key Pressed: " + ke.getCode());
}
}
});
事件从场景传递到聚焦节点(事件捕获),然后返回场景(事件冒泡)。事件过滤器在事件捕获过程中触发,而onKeyPressed和事件处理程序在事件冒泡过程中触发。某些控件(例如TextField)使用事件,因此它永远不会回到场景中,即取消事件冒泡,场景的onKeyPressed不起作用。
若要获取所有按下键的事件,请使用addEventFilter方法:
scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.ESCAPE) {
System.out.println("Key Pressed: " + ke.getCode());
ke.consume(); // <-- stops passing the event to next node
}
}
});
如果要捕获组合键,请使用KeyCodeCombination类:
scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
final KeyCombination keyComb = new KeyCodeCombination(KeyCode.ESCAPE,
KeyCombination.CONTROL_DOWN);
public void handle(KeyEvent ke) {
if (keyComb.match(ke)) {
System.out.println("Key Pressed: " + keyComb);
ke.consume(); // <-- stops passing the event to next node
}
}
});
还可以通过设置快捷键向菜单添加快捷方式(参见[2])。
我的代码是: 在上面的代码中,mBooleanLoginDone是一个布尔变量,指示用户是否登录。我希望快捷键Ctrl和T仅在用户成功登录时起作用,但现在我还没有登录,快捷键也起作用。我怎样才能解决它?有什么想法吗?
主要内容:Windows 和 Mac 的键盘快捷键,基本的快捷键,文本编辑,Web 浏览器,屏幕截图通过使用键盘快捷键可以节省时间。 Windows 和 Mac 的键盘快捷键 在现代操作系统中和计算机软件程序中,键盘快捷键经常被使用。 使用键盘快捷键能帮您节省很多时间。 基本的快捷键 描述 Windows Mac OS 编辑菜单 Alt + E Ctrl + F2 + F 文件菜单 Alt + F Ctrl + F2 + E 视图菜单 Alt + V Ctrl + F2 + V 全选文本 Ctr
配置本地和全局键盘快捷键 本地快捷键 您可以使用Menu模块来配置仅在应用程序集中时才触发的键盘快捷键。为此,在创建MenuItem时务必指定[`accelerator]属性。 1 const {Menu, MenuItem} = require('electron') 2 const menu = new Menu() 3 4 menu.append(new MenuItem({ 5 lab
配置本地和全局键盘快捷键 Keyboard Shortcuts Configure local and global keyboard shortcuts 本地快捷键 您可以使用 [Menu] 模块来配置快捷键,只有在 app 处于焦点状态时才可以触发快捷键。 为此,在创建 MenuItem时必须指定一个 [accelerator] 属性。 const { Menu, MenuItem } = r
键盘快捷键 控制台配备了一套非常方便的键盘快捷键,使其工作效率更高。下面是一段概述: 一般编辑 Ctrl/Cmd + I 当前请求自动缩进。 Ctrl + Space 打开自动补全 (即使没有打字也可以)。 Ctrl/Cmd + Enter 提交请求。 Ctrl/Cmd + Up/Down 跳转到上一个/下一个请求的开始或结束。 Ctrl/Cmd + Alt + L 折叠或展开当前代码块。 Ctr
概览 该功能允许你为 Electron 应用程序配置应用和全局键盘快捷键。 示例 本地快捷键 应用键盘快捷键仅在应用程序被聚焦时触发。 为了配置本地快捷键,你需要在创建Menu模块中的MenuItem时指定accelerator属性。 Starting with a working application from the Quick Start Guide, update the main.js