gpt4 book ai didi

events - GWT 文本框上的即时值更改处理程序

转载 作者:行者123 更新时间:2023-12-03 10:39:59 25 4
gpt4 key购买 nike

我想在输入 GWT 文本框时立即更新文本字段。我的问题是 ValueChangeEvent 和 ChangeEvent 处理程序仅在 TextBox 失去焦点时触发。我想过使用 KeyPressEvent 但是当用鼠标执行复制粘贴时什么也不会发生。

最简单的方法是什么?

最佳答案

你可以 catch ONPASTE事件并手动触发 ValueChangeEvent .像这样的东西:

public void onModuleLoad() {
final Label text = new Label();
final ExtendedTextBox box = new ExtendedTextBox();
box.addValueChangeHandler(new ValueChangeHandler<String>() {

@Override
public void onValueChange(ValueChangeEvent<String> event) {
text.setText(event.getValue());
}

});
box.addKeyUpHandler(new KeyUpHandler() {

@Override
public void onKeyUp(KeyUpEvent event) {
text.setText(box.getText());
}
});

RootPanel.get().add(box);
RootPanel.get().add(text);
}

private class ExtendedTextBox extends TextBox {

public ExtendedTextBox() {
super();
sinkEvents(Event.ONPASTE);
}

@Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
switch (DOM.eventGetType(event)) {
case Event.ONPASTE:
Scheduler.get().scheduleDeferred(new ScheduledCommand() {

@Override
public void execute() {
ValueChangeEvent.fire(ExtendedTextBox.this, getText());
}

});
break;
}
}
}

在 Firefox 3.6.1 上测试。

关于events - GWT 文本框上的即时值更改处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com