SingleFrameApplication, который не требует ALT для активации мнемоники меню? - PullRequest
0 голосов
/ 07 октября 2010

В 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 Ответ

2 голосов
/ 07 октября 2010

Это настройка Windows. В XP перейдите по ссылке:

  1. Панель управления
  2. Дисплей
  3. Внешний вид
  4. Эффекты
  5. Скрыть подчеркнутые буквы для навигации по клавиатуре, пока я не нажму клавишу 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.

...