在Java中更改无鼠标修饰符?

3
澄清:是否有一种简单易行的方式可以更改默认掩码(在我的系统上为ALT),以使像JMenu这样的东西不会默认使用默认掩码+助记符(例如ALT + VK_A)来访问?还是说这只能通过自定义按键绑定来完成?
默认的无鼠标修饰符是ALT,并由外观和感觉定义(我认为)。据我所知,定义独特的外观和感觉并不容易,因此我还没有准备好去尝试。
但是,我想知道是否有一种简单或容易访问的方法可以将默认的无鼠标修饰符修改为除ALT之外的其他内容。
我正在学习Java教程,注意到默认的无鼠标修饰符适用于菜单,我找不到一种将其更改为其他内容的方法(是否有一种方法可以设置ActionEvent Mask为shift / ctrl,以覆盖使用ALT的情况?)。
2个回答

2

如果我理解正确,您在谈论的是“记忆法”。您可以使用 KeyStroke 类创建使用任何限定符的键绑定。改变助记符限定符是否重要?

此外,有关更多信息,请参见此问题

更新

我正在使用 Mac/OS X,所以从未深入研究过记忆法,但请查看 WindowsLookAndFeelBasicLookAndFeel(大多数 LAFs 的基类)类的源代码。我发现在 BasicLookAndFeel 中有一个看起来很有希望的属性:"Menu.shortcutKeys",默认值为 new int[] {KeyEvent.ALT_MASK}。尝试将其设置为其他内容,看看是否有效..


没错,这是助记符和掩码。具体来说,我想知道是否有一种简单的方法可以更改用于访问Java菜单的掩码(出于好奇,而非必要)。它们似乎使用默认掩码(在我的系统上为ALT)。虽然像JMenuItems这样的东西有加速器可以接受KeyStroke,但setMnemonic只接受KeyEvents,除非我错过了一种强制将KeyStroke放入其中的方法。自定义键绑定是我应该检查的内容,你提供的链接很有帮助。 - Azoreo
啊,这个更新听起来很有趣 - 我会研究一下的,谢谢Harald。 - Azoreo

1

信息性的回答,但并不是一个有用的答案,我也会添加澄清。 - Azoreo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接