有没有办法在Win 7下为本机外观设置下划线到助记符?

时间:2013-09-15 09:56:13

标签: java swing jmenu key-events mnemonics

我的代码:

fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
fileMenu.setDisplayedMnemonicIndex(0);

Javadocs AbstractButton.setDisplayedMnemonicIndex()

  

并非所有的外观都能支持这一点。

我将自己的外观设定为UIManager.getSystemLookAndFeelClassName()

即使在setDisplayedMnemonicIndex()明确设置索引时,我也看不到助记符下划线 - 在Windows 7下(仅当我按ALT时)。

但如果我没有设置外观和感觉并留下默认的java主题。

有没有办法实现这个目标?是由Windows的设置引起的吗?

2 个答案:

答案 0 :(得分:7)

通过使用UIManager

设置属性,可以更改按下 Alt 键时仅显示下划线的行为
UIManager.getDefaults().put("Button.showMnemonics", Boolean.TRUE);

我认为你需要在显示你的第一个Swing组件之前这样做,但我不确定。

答案 1 :(得分:1)

ALT键时会出现下划线。我认为这是用户的视觉反馈,让他们知道带下划线的字符现在作为快捷方式映射到相应的键。