Добавить textField.addFocusLostListener

Добрый день!

Сейчас столкнулся с необходимостью в таком слушателе как textField.addFocusLostListener(+remove), так как:
addEnterPressListener - пользователи иногда забывают его нажать.
addValueChangeListener - вызывает массовое срабатывание в калькуляторе со связанными полями.

Спасибо.

Здравствуйте,

Вы можете воспользоваться BlurListener из Vaadin Framework:

public class ExtAppMainWindow extends AppMainWindow {
    @Inject
    private TextField textField;

    @Override
    public void init(Map<String, Object> params) {
        super.init(params);

        textField.unwrap(com.vaadin.ui.TextField.class).addBlurListener(event -> {
            showNotification("Focus lost!");
        });
    }
}

В версии 7.0 мы планируем добавить в ValueChangeEvent флаг userOriginated, показывающий что событие вызвано действиями пользователя. По его значению можно будет понять, что какие-то события вызваны не вводом данных, а программным изменением: https://github.com/cuba-platform/cuba/issues/1162

5 симпатий

Благодарю за ответ, все получилось.