GWT: контекстное меню в RichTextArea - PullRequest
4 голосов
/ 23 октября 2009

Я использую RichTextArea в приложении GWT. Я хочу добавить контекстное меню к моей RichTextArea:

public class MyRichTextArea extends RichTextArea implements HasContextMenuHandlers {
    public HandlerRegistration addContextMenuHandler(ContextMenuHandler h) {
        return addDomHandler(h, ContextMenuEvent.getType());
    }
}

(...)

myRichTextArea.addContextMenuHandler(new ContextMenuHandler() {
    public void onContextMenu(ContextMenuEvent event) {
        contextMenu.show();
    }
});

Это работает, однако контекстное меню появляется только когда я щелкаю правой кнопкой мыши на границе RichTextArea Если я щелкну правой кнопкой мыши в RichTextArea, например, в содержащемся тексте отображается контекстное меню браузера по умолчанию.

Как я могу отобразить свое собственное контекстное меню?

Ответы [ 2 ]

1 голос
/ 16 июля 2012

Запретить контекст по умолчанию. Memu:

myRichTextArea.addDomHandler(new ContextMenuHandler() {

@Override public void onContextMenu(ContextMenuEvent event) {
    event.preventDefault();
    event.stopPropagation();
            // do what you want to do instead
}

}, ContextMenuEvent.getType ());

0 голосов
/ 28 октября 2009

Я бы пошел за методом, который сообщает вам, что область расширенного текста имеет фокус, такой как hasfocus, или, может быть, лучше, слушатель события (addFocusListener), чтобы сообщить вам, когда фокус находится на щелчке мыши правой кнопкой кнопка

Имеет ли это смысл?

...