Это настройка Windows. В XP перейдите по ссылке:
- Панель управления
- Дисплей
- Внешний вид
- Эффекты
- Скрыть подчеркнутые буквы для навигации по клавиатуре, пока я не нажму клавишу Alt
(Win7 должен иметь где-то аналогичные настройки, я полагаю.)
Значение по умолчанию включено, поэтому Java работает правильно, а Firefox неправильно (даже Office 2003 не учитывает этот параметр).
Снимите этот флажок, и вы всегда будете видеть мнемоническое подчеркивание в Java.
Обратите внимание, что только Windows LAF правильно соблюдает настройку. Мотив и Металл всегда показывают подчеркивание. Я не использую NetBeans или jDesktop, но полагаю, что он использует системный LAF, поэтому подчеркивание правильное.
Если вы все еще хотите всегда показывать подчеркивание в Windows LAF (пожалуйста, подумайте дважды, прежде чем это сделать), позвоните UIManager.getLookAndFeelDefaults().put("Button.showMnemonics", false)
, что НЕ , похоже, работает для XP, потому что WindowsMenuItemUI#paintText
только проверяет флаг под висту. Вы можете проверить Win7 JDK самостоятельно.
Обратите внимание, что допустимая ошибка при включенной настройке выглядит следующим образом (это экономит ваше время на анализ 2-й самой ужасной системы отслеживания ошибок во вселенной. Самое худшее - это собственное решение) Система ColdFusion, которая была в моей компании): создайте одно меню с мнемоникой, например &File
, нажмите Alt-F
, отпустите, снова нажмите Alt-F
, подчеркивание пропало. Они вернутся, как только вы сделаете что-нибудь еще, нажмете или просто нажмете Alt
.