のドロップイベントをリッスンするにはどうすればよいのだろうかTextField
。値チェックを行うには、そのイベントをインターセプトする必要があります。
私は拡張を書きTextBox
、それは発火しますTextChangeEvents
。しかし、テキスト フィールドにテキストをドロップすると、onBrowserEvent(Event event)
メソッドが呼び出されません。
ヒントはありますか?
public class ExtendedTextBox extends TextBox {
/**
* Creates an empty extended text box.
*/
public ExtendedTextBox() {
super();
// Catch the browser events.
sinkEvents(Event.ONKEYUP);
sinkEvents(Event.ONPASTE);
}
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
System.out.println(event.getTypeInt());
switch (event.getTypeInt()) {
case Event.ONKEYUP:
case Event.ONPASTE: {
// Fire the event after the text box shows the new data.
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
fireEvent(new TextChangeEvent(ExtendedTextBox.this.getText()));
}
});
break;
}
default:
}
}
/**
* Add a given {@link TextChangeEventHandler} to the widget.
*
* @param handler
* the handler
* @return {@link HandlerRegistration} used to remove the handler
*/
public HandlerRegistration addTextChangeEventHandler(TextChangeEventHandler handler) {
return addHandler(handler, TextChangeEvent.TYPE);
}
}