Events 如何在禁用的文本框上处理setText(“某些文本”)事件
我想在使用Events 如何在禁用的文本框上处理setText(“某些文本”)事件,events,gwt,textbox,Events,Gwt,Textbox,我想在使用setText(“某物”) 到目前为止我试过什么 w.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { isChanged = true; } }); 我还试着用一个自定义的文本框来监听过去的事件 class CustomTextBox extends TextBox implements HasHandl
setText(“某物”)
到目前为止我试过什么
w.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
isChanged = true;
}
});
我还试着用一个自定义的文本框来监听过去的事件
class CustomTextBox extends TextBox implements HasHandlers {
private HandlerManager handlerManager;
public CustomTextBox() {
super();
handlerManager = new HandlerManager(this);
sinkEvents(Event.ONPASTE);
}
@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
switch (event.getTypeInt()) {
case Event.ONPASTE:{
fireEvent(new TextChangeEvent());
break;
}
default:
// Do nothing
}
}
@Override
public void fireEvent(GwtEvent<?> event) {
handlerManager.fireEvent(event);
}
public HandlerRegistration addTextChangeEventHandler(TextChangeEventHandler handler) {
return handlerManager.addHandler(TextChangeEvent.TYPE, handler);
}
}
类CustomTextBox扩展TextBox实现Hashandler{
私人经理人;
公共自定义文本框(){
超级();
handlerManager=新的handlerManager(本);
sinkEvents(Event.ONPASTE);
}
@凌驾
公共无效onBrowserEvent(事件){
超级浏览器事件(事件);
开关(event.getTypeInt()){
case Event.ONPASTE:{
fireEvent(新的TextChangeEvent());
打破
}
违约:
//无所事事
}
}
@凌驾
公共无效火灾事件(GwtEvent事件){
handlerManager.fireEvent(事件);
}
公共句柄注册addTextChangeEventHandler(TextChangeEventHandler){
返回handlerManager.addHandler(TextChangeEvent.TYPE,handler);
}
}
如果没有成功,任何建议都将不胜感激。
setText
不会引发事件
将
valuechangeholder
添加到TextBox
,然后使用setValue(“something”,true)
在设置新值时向所有处理程序触发valuechangeent
,无论框id是否已禁用。您的ONPASTE
实验是一个不同的问题吗?我不太理解这里的问题。不,我在想粘贴事件可以处理setText(“”)操作,这是有效的!是否可以将onBrowserEvent和addValueChangeHandler(…)组合在同一个文本框中?