在NetBeans 6.9 IDE中,如果您创建了一个
New Project >> Java >> Java Desktop Application
并运行它,您会发现菜单项有助记符,但仅在按下ALT
后才会出现。
(netbeans程序本身使用这种菜单。)
但是,如果您创建一个新的File >> Swing GUI Forms >> JFrame Form
,并添加一个带有助记符的简单菜单栏,则运行JFrame,将始终显示助记符而无需按ALT
。这是我更喜欢的。
(Firefox使用这种菜单风格)
我的想法是org.jdesktop.application
会覆盖默认设置,但这只是猜测。任何人都知道如何使SingleFrameApplication不需要按ALT
?
感谢。
修改 发现问题是JFrame和JDesktop使用不同的默认外观和感觉
答案 0 :(得分:2)
这是一个Windows设置。在XP中转到:
(我猜想,Win7应该在某处设置类似的设置。)
默认设置为on,因此Java正确且Firefox 错误(即使Office 2003也不尊重该设置)。
取消选中它,您将始终在Java中看到助记符下划线。
请注意,只有Windows LAF才能正确考虑该设置。 Motif和Metal总是显示下划线。我不使用NetBeans或jDesktop,但我猜它使用系统LAF,因此下划线是正确的。
如果您仍想在Windows LAF下始终显示下划线(请在开始之前请三思),请致电UIManager.getLookAndFeelDefaults().put("Button.showMnemonics", false)
, NOT 似乎适用于XP,因为{{1}只检查Vista下的标志。您可以自己检查Win7 JDK。
请注意,设置打开时有an accepted bug,这样就可以了(节省一些时间来解析宇宙中第二个最糟糕的错误跟踪系统。最糟糕的是我公司内部的ColdFusion系统曾经有过):创建一个带有助记符的菜单,例如WindowsMenuItemUI#paintText
,按&File
,释放,再次按Alt-F
,下划线就消失了。只要您执行任何其他操作,单击或仅按Alt-F
,它们就会立即返回。