В GXT у меня есть элемент управления с важной панелью, добавленной к нижнему компоненту, в основном так:
public class SamplePanel extends ContentPanel {
ContentPanel panel = new ContentPanel();
public SamplePanel() {
setBottomComponent(panel);
}
public void setVisible(boolean isVisible) {
panel.setVisible(isVisible);
}
Панель устанавливается как «нижний компонент», потому что она должна оставаться в нижней части виджета и быть доступной для просмотра в любое время.
Проблема заключается в том, что, хотя видимость панели переключается правильно, область «нижнего компонента» не изменяется, чтобы уменьшаться и соответствовать новым размерам нижней области.
Однако я заметил, что размер нижней области изменяется, когда я вручную изменяю размер виджета с помощью мыши.
Есть ли способ программно заставить перерисовать / перекрасить / изменить макет ... что-нибудь, чтобы нижний компонент изменился, чтобы отразить новый размер его содержимого?
Я пробовал все это, и они не работают:
public void setVisibility(boolean isVisible) {
panel.setVisible(isVisible);
doLayout(true);
recalculate();
repaint();
}
Спасибо