在现有程序的重新实现中,我想保留用户熟悉的消息文本。我想添加的增强功能之一是一个很好的纯键盘界面,包括助记符。但是将直观的助记字符与现有文本一起使用会产生一些丑陋的结果。例如:
useUpperCheckBox = new JCheckBox("Use UPPERCASE letters");
useUpperCheckBox.setMnemonic(KeyEvent.VK_U);
下划线是“Use”中的“U”而不是“UPPERCASE”中的“U”。由于用户的眼睛自然会被“UPPERCASE”吸引以寻找助记符,因此装饰的默认位置有点不直观。
是的,我已经阅读了文档和教程,它们说助记字符的第一个实例带有下划线,但这不是我想要的。它经常出现,我不敢相信我是唯一对此感到沮丧的人。肯定有人比我聪明已经想出了如何将装饰放置在不同于默认位置的地方。
最佳答案
使用来源,卢克。查看 setMnemonic()
的源代码让我很快找到了 AbstractButton.setDisplayedMnemonicIndex()
:
Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.
关于java - 让 setMnemonic 下划线字符而不是第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1847477/