SingleFrameApplication, который не требует ALT для активации мнемоники меню?
В IDE NetBeans 6.9, если вы создаете New Project >> Java >> Java Desktop Application
и запустить его, вы обнаружите, что пункты меню имеют мнемонику, но только после ALT
нажата.
(Сама программа NetBeans использует этот стиль меню.)
Тем не менее, если вы создаете новый File >> Swing GUI Forms >> JFrame Form
и добавьте простую строку меню с мнемоникой, затем запустите JFrame, мнемоника всегда будет отображаться без нажатия ALT
, Это то, что я бы предпочел.
(Firefox использует этот стиль меню)
Я думаю, что org.jdesktop.application
переопределяет настройку по умолчанию, но это только предположение. Кто-нибудь знает, как сделать SingleFrameApplication не требуется ALT
быть нажатым?
Благодарю.
Изменить: Была обнаружена проблема в том, что JFrame и JDesktop используют разные взгляды и ощущения по умолчанию
1 ответ
Это настройка 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
проверяет только флаг под Vista. Вы можете проверить Win7 JDK самостоятельно.
Обратите внимание, что при включенной настройке существует общепринятая ошибка, которая выглядит следующим образом (это экономит ваше время на анализ 2-й самой ужасной системы отслеживания ошибок в мире. Самым плохим является внутренняя система ColdFusion, которую имела моя компания): например, создать одно меню с мнемоникой &File
, Нажмите Alt-F
, отпустите, нажмите Alt-F
опять подчеркивание пропало. Они вернутся, как только вы сделаете что-нибудь еще, нажав или просто нажав Alt
само собой.