我的代码:
fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
fileMenu.setDisplayedMnemonicIndex(0);
Javadocs for AbstractButton.setDisplayedMnemonicIndex()
说
并非所有的外观和感觉都支持这一点。
我将外观和感觉设置为UIManager.getSystemLookAndFeelClassName()
而且即使索引是由 setDisplayedMnemonicIndex()
明确设置的,我也看不到助记符上的下划线 - 在 Windows 7 下(仅当我按 ALT
时)。
但是,如果我不设置外观和感觉并只保留默认的java主题,它可以工作。
有没有办法实现这一目标?是由Windows的设置引起的吗?
您可以通过设置带有UIManager
的属性来更改下划线仅在按 Alt 键时显示的行为
UIManager.getDefaults().put("Button.showMnemonics", Boolean.TRUE);
我认为您需要在显示第一个 Swing 组件之前执行此操作,但我不确定。
当您按ALT
键时会出现一个下划线。我认为它旨在为用户提供视觉反馈,让他们知道带下划线的字符现在作为快捷方式映射到相应的键。