Как сделать ярлык для невидимого пункта меню в Java

Недавно я добавил в свою программу диалоговое окно консоли, чтобы упростить обнаружение ошибок. В настоящее время это доступно через JMenuItem и имеет сочетание клавиш «Ctrl + L».

В идеале я хотел бы сохранить эту опцию, но сделать пункт меню скрытым/невидимым, потому что я действительно хочу, чтобы люди использовали его только в том случае, если они копируют содержимое мне, чтобы я мог что-то исследовать. Однако, когда я устанавливаю пункт меню невидимым, ярлык также перестает работать.

Вот что я пробовал:

    mntmViewLogs.setAccelerator(KeyStroke.getKeyStroke('L', KeyEvent.CTRL_DOWN_MASK));
    mntmViewLogs.setVisible(false);

Спасибо!


person Alex    schedule 21.10.2013    source источник


Ответы (1)


Вы должны использовать API привязки клавиш: http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

Установите клавишу быстрого доступа не на меню, а на действие за меню: getInputMap(WHEN_IN_FOCUSED_WINDOW).put(acceleratorKey, actionname);

person Mirko Link    schedule 08.01.2014