Я хочу обрабатывать события, когда пользователь вставляет некоторый текст в TextBox. Какое событие происходит в этой ситуации? Я пробовал обработчики ValueChange и Change, но они не работали.
TextBox
ValueChange
Change
Это может вам помочь. Описывает обходной путь для подключения к событию onpaste. Короче говоря:
подкласс TextBox
утопить событие onpaste в конструкторе
sinkEvents(Event.ONPASTE);
переопределить onBrowserEvent(Event event)
onBrowserEvent(Event event)
public void onBrowserEvent(Event event) { super.onBrowserEvent(event); switch (event.getTypeInt()) { case Event.ONPASTE: { // do something here break; } } }
GWT еще не поддерживает вырезание, копирование и вставку: http://code.google.com/p/google-web-toolkit/issues/detail?id=4030
Отредактировано: Другой вариант - использовать JSNI. Например, добавьте это в ваш класс GWT:
public native void addCutHandler(Element element) /*-{ var temp = this; // hack to hold on to 'this' reference element.oncut = function(e) { temp.@org.package.YourClass::handleCut()(); } }-*/; public void handleCut() { Window.alert("Cut!"); }
**(Write In the Constructor)** sinkEvents( Event.ONPASTE ); **(After that write below code)** public void onBrowserEvent( Event event ) { super.onBrowserEvent( event ); switch ( event.getTypeInt() ) { case Event.ONPASTE : { event.stopPropagation(); event.preventDefault(); break; } } }