You need to enable JavaScript to run this app. Java Swing如何使用getKeyStroke()创建三键KeyStroke设置菜单项快捷键
优惠活动
大模型
产品
解决方案
定价
更多

Java Swing如何使用getKeyStroke()创建三键KeyStroke设置菜单项快捷键

要实现Shift + Ctrl + N三键组合的菜单项加速器,直接通过位或运算符组合多个修饰符掩码即可,KeyStroke本身原生支持多修饰符组合,不需要额外扩展。

你可以直接替换原有代码为以下实现:

// 兼容旧版JDK的写法
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK));

如果使用JDK 1.4及以上版本,更推荐使用InputEvent的_DOWN_MASK系列常量,对多平台按键适配更友好:

// 推荐的现代写法
import java.awt.event.InputEvent;

menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK));

该逻辑支持任意数量的合法修饰符拼接,比如需要新增Alt键作为第四修饰符,只要在参数中追加| InputEvent.ALT_DOWN_MASK即可。

内容的提问来源于stack exchange,提问作者Manbir Judge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 14:54:08