Я обнаружил, что KeyUpHandler кажется наиболее динамичным обработчиком для TextBox, если я хочу мгновенное обновление после ввода чего-либо. Однако, учитывая, что значения могут измениться, если кто-то не нажал клавишу, необходимо использовать ValueChangeHandler, который, к сожалению, когда используется один, не так динамичен и не запускается каждый раз, когда вы изменяете содержимое TextBox с помощью клавиатуры.Как объединить KeyUpHandler и ValueChangeHandler в GWT?
Сейчас у меня есть метод, как это, чтобы добавить оба обработчика в 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();
}
});
}
Так есть способ объединить их или обработчик, который даст тот же эффект, что и этот?
Да, но если значение в TextBox будет изменено без использования ключей, это не будет называться, я думаю. И именно поэтому я помещаю обоих обработчиков в TextBox –