Java Swing JMenu 助记符

标签 java swing

我有一个使用 JMenu 创建的菜单。我想为这个菜单分配一个快捷键 Alt-F。我使用 setMnemonic('F') 来做到这一点,但菜单无法识别助记符。

解决或调试此问题的最佳方法是什么?我发现设置断点并没有多大帮助。

谢谢。

代码片段:

//higher up in variable declaration
/** Menus on the menu bar */
private JMenu uiFindMnu           = new JMenu("Find");
...
//inside the constructor
// set mnemonic for the Find menu
uiFindMnu.setMnemonic('F');

最佳答案

类构造函数内部(扩展 JFrame):

JMenu helpmenu = new JMenu("File");
helpmenu.setMnemonic('F');
JMenuBar menubar = new JMenuBar();
menubar.add(helpmenu);
setJMenuBar(menubar);

这对我来说效果很好。您必须提供有关您的代码的更多详细信息,以便我给出更好的答案。至于对 SWING 或任何应用程序 GUI 进行故障排除,我能提供的最佳建议之一是创建尽可能简单的场景。我保留了一个基本的 JFrame 模板,我可以在其中放入像这样的简单代码进行测试。一旦您知道它适用于最简单的场景,您就可以退回到您的项目并发现您的 GUI 的其他部分导致与此功能的冲突。

出于好奇,您的构造函数中不会碰巧有一个名为“uiFindMnu”的局部变量隐藏了您的类变量,对吗?我会仔细检查以确保您调用 setMnemonic() 的变量是添加到您的 MenuBar(并实际显示)的变量。

关于Java Swing JMenu 助记符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434894/

相关文章:

java - 谁在篡改我的数据流?

java - 过滤 JComboBox

java - 基本动画未执行

java - JSON解析数组和同名单个对象

java - 服务 ScheduleTask 未按固定时间间隔启动

实现相同接口(interface)的枚举上的Java开关

java - 如何将 JPA 工具添加到 Eclipse Oxygen 中的普通 Java 项目中?

java - 掌握Java程序的流程

java - 绘图区域未显示(未正确对齐?)

java - 如何检查 'only one jRadiobutton should be selected'的条件