另一种为 JMenuItem 设置助记符的方法?

发布于 2024-10-01 19:48:05 字数 182 浏览 3 评论 0原文

所以,我有一个“打开项目”菜单项,我想为其设置助记符。我更喜欢它是 Project word 中的“e”字符。但是当我设置它时,

openProjectMenuItem.setMnemonic('e');

它将 Open word 中的“e”字符设置为助记符。有办法实现我想要的吗?

So, I have a "Open Project" menu item, and I want to set mnemonic to it. I prefer it to be 'e' character from Project word. But when I set it with

openProjectMenuItem.setMnemonic('e');

it sets 'e' character from Open word as mnemonic. Is there a way to achieve what I want?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

折戟 2024-10-08 19:48:05

方法 setMnemonic(char mnemonic) 已过时,您应该使用 setMnemonic(int mnemonic) 和相应的 VK_E 来代替。

在任何情况下,默认行为都是在第一次出现的字母(如果存在)下划线。如果您想自定义这个东西,您应该查看 AbstractButton 类,它有一个方法(doc here

public void setDisplayedMnemonicIndex(int index)

这正是您所需要的。所以:

openProjectMenuItem.setMnemonic(VK_E);
openProjectMenuItem.setDisplayedMnemonicIndex(9);

The method setMnemonic(char mnemonic) is obsolete, you should use setMnemonic(int mnemonic) with the appropriate VK_E instead.

In any case the default behaviour is to underline first occurrence of the letter, if present. If you want to customize this thing you should look at AbstractButton class, it has a method (doc here:

public void setDisplayedMnemonicIndex(int index)

that does exactly what you need. So:

openProjectMenuItem.setMnemonic(VK_E);
openProjectMenuItem.setDisplayedMnemonicIndex(9);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文