Вы не сможете поймать «удалить» в контекстном меню.
Обход 1
Вы можете использовать OnChange и делать то, что вам нужно сделать, когда значение текстового поля является «».
Или вы можете использовать ONKEYPRESS и либо обнаружить штрих «delete», либо проверить содержимое текстового поля на каждый ход клавиши.
Используйте UI-обработчики для этого.
@UiHandler("myTextBox")
protected void onKeyPress(KeyPressEvent e) {
// do something...
}
Обход 2
Если вы хотите, чтобы поймать нужное событие щелчка сделать как таковой.
myTextBox.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (event.getNativeEvent().getButton() == NativeEvent.BUTTON_RIGHT) {
// code...
}
}
});
Или, опять же, использовать UIHandlers.
Обход 3
Если вы все еще недовольны, и по-прежнему хотят, чтобы поймать «удалить» нажмите в контекстном меню у вас есть только один вариант слева. Вы должны написать свое собственное контекстное меню. Используйте event.preventDefault() правой кнопкой мыши и покажите вам собственный «виджет контекстного меню». Вы можете написать contextMenuHandler, как описано здесь: https://confluence.clazzes.org/pages/viewpage.action?pageId=425996
Когда мы нажимаем мышь правой кнопкой мыши на текстовое поле, появляется меню contex. И я хочу, чтобы событие отображалось на отображаемом элементе. – zuber28
Хорошо, понял. Я отредактировал свой ответ. – otonglet
Да. Создание моего собственного виджета контекстного меню - единственный вариант. Потому что, когда пользователь щелкает правой кнопкой мыши, я не могу предположить, что он будет выбирать только удаление. В любом случае, спасибо. – zuber28