gpt4 book ai didi

java - 如何在GWT中组合KeyUpHandler和ValueChangeHandler?

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:33 24 4
gpt4 key购买 nike

我发现,如果我想在输入内容后立即更新,KeyUpHandler 似乎是 TextBox 最动态的处理程序。然而,考虑到在没有人按下按键的情况下这些值可能会发生变化,因此需要使用 ValueChangeHandler,不幸的是,单独使用时它不是动态的,并且每次使用键盘更改 TextBox 的内容时都不会触发。

现在我有一个像这样的方法来将两个处理程序添加到 TextBox,但我想这不是添加多个这样的处理程序的最佳方法,而且性能可能也不是很好:

private void addInputValueChangeHandlers(TextBox inputTextBox) {
inputTextBox.addKeyUpHandler(new KeyUpHandler() {

@Override
public void onKeyUp(KeyUpEvent event) {
updateResult();
}
});

inputTextBox.addValueChangeHandler(new ValueChangeHandler<String>() {

@Override
public void onValueChange(ValueChangeEvent<String> event) {
updateResult();
}
});
}

那么有没有一种方法可以将它们组合起来,或者有一个处理程序可以产生与此相同的效果?

最佳答案

我认为您应该通过执行以下操作来检测 onKeyUp 方法中是否发生了更改:

private void addInputValueChangeHandlers(TextBox inputTextBox) {
inputTextBox.addKeyUpHandler(new KeyUpHandler() {

@Override
public void onKeyUp(KeyUpEvent event) {
if(!inputTextBox.getValue().equals(previousValue)){
updateResult();
}
previousValue = inputTextBox.getValue();
}
});
}

其中 previousValue 是类的一个属性,其初始值等于 null

关于java - 如何在GWT中组合KeyUpHandler和ValueChangeHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746173/

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