java - 用于 Command+T 的 JavaFX 组合键(新选项卡)
问题描述
我正在尝试为我的浏览器应用程序创建一个按键侦听器,以使用与大多数实际浏览器相同的方式来触发打开一个新选项卡。
查找了一些可能的解决方案,看起来我可能必须使用KeyCombination
但是我找不到任何命令键。到目前为止,我发现的最接近的是 Control+T。
private KeyCombination newTab = new KeyCodeCombination(KeyCode.T, KeyCombination.CONTROL_DOWN);
...
root.setOnKeyPressed(event -> {
if (newTab.match(event))
tabPane.getTabs().add(new Tab());
});
我知道这目前工作正常,但我真的想使用命令而不是控制,因为它更自然和直观。
解决方案
我相信你正在寻找KeyCombination.SHORTCUT_DOWN
.
KeyCombination
...
shortcut
修饰符用于表示主机平台键盘快捷键中常用的修饰键。例如control
,在 Windows 上和meta
Mac 上的(命令键)。通过使用shortcut
键修饰符,开发人员可以创建独立于平台的快捷方式。因此,“Shortcut+C”组合键在内部处理为 Windows 上的“Ctrl+C”和 Mac 上的“Meta+C”。
从该文档中,看起来他们将“命令”称为“元”。如果您不想使用跨平台SHORTCUT_DOWN
,您可以KeyCombination.META_DOWN
改用。
推荐阅读
- python - 访问 Django 测试数据库
- python - 在汤中找到一个非常具体的标签
- assembly - (rdtsc + lfence + rdtsc) 和 (rdtsc + rdtscp) 在测量执行时间方面有什么区别吗?
- python - 中止 pywinauto 操作
- sql - 使用 UPDATE 用大量数据填充表
- c# - C#语法超越我,初学者
- go - 在 struct -> []byte -> gob -> gzip -> IO -> gzip -> gob -> []byte -> struct 之后存储到磁盘
- apache - 使用 APACHE REWRITE 强制特定目录为 HTTPS (.htaccess)
- java - 没有明确提及 JOIN 的 JPA 查询
- javascript - 它可以用 ReactJS 处理 JSON 文件吗?