Есть ли способ добавить сочетания клавиш для элементов MenuBar / MenuItem в GWT? - PullRequest
1 голос
/ 29 июля 2010

Я пытаюсь добавить сочетания клавиш в меню GWT, так же, как в большинстве приложений Windows (например, ALT + F , затем O - > активирует меню «Файл», затем «Открыть» (MenuItem).

Я знаю, что это может конфликтовать с ярлыками браузера, поэтому мне тоже интересен способ их отключения ...

Из того, что я вижу, в приложениях Google есть все виды ярлыков, поэтому должен быть способ сделать это.

Спасибо!

Редактировать

Благодаря ответу Игоря я могу захватить ввод с клавиатуры, прежде чем он будет использован другими элементами управления.

Чего я не знаю, так это как заставить MenuBar показывать себя (например, при наведении мыши). Кажется, что в MenuBar нет метода .open (): (

1 Ответ

2 голосов
/ 29 июля 2010

Я на самом деле не пробовал это, но NativeEvent, кажется, то, что вы ищете.Вы получаете к нему через Event.addNativePreviewHandler(Event.NativePreviewHandler):

Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
    @Override
    public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
        nativeEvent nativeEvent = event.getNativeEvent();
        // Do all sort of cool stuff with nativeEvent
    }
});

Ссылка: GWT Тема группы Google


Чтобы выбрать пункт менюпрограммно используйте MenuBar.selectItem(MenuItem item) - вам, вероятно, придется отслеживать соответствующие MenuItem s.Из выбранного MenuItem вы можете попасть в его подменю с помощью MenuItem.getSubMenu() и так далее ... :) Вы можете поиграть с настройкой автоматического открытия (MenuBar.setAutoOpen(boolean autoOpen)* 1025).* заставить его работать так, как вы предполагали.

...