Удаление компонента из другого компонента

#vaadin

#vaadin

Вопрос:

Эта небольшая проблема сводит меня с ума. Мой главный экран содержит 2 пользовательских компонента; давайте назовем их «A» и «B» для простоты. Внутри компонента A у меня есть кнопка, с помощью которой я хотел бы удалить / заменить компонент B.

Для этого я вызываю ссылку на компонент B, который у меня есть в классе main screen. Затем я вызываю метод removeComponent(componentBReference) макета, который содержит компонент B. К сожалению, это абсолютно ничего не дает. Я также пробовал requestRepaint() после вызова метода и метода replaceComponent() . Нет даже ссылки на главный экран.myLayout.setVisible(false) работает.

Что я делаю не так или что я должен учитывать?

Комментарии:

1. Вы пробовали отлаживать и проверять, является ли макет, на который вы ссылаетесь с помощью removeComponent , на самом деле макетом, содержащим компонент B? Если нет, то он будет работать без сбоев, как и для вас.

Ответ №1:

Прежде всего, попробуйте установить для всех ваших компонентов немедленный режим, вызвав этот метод setImmediate(true).