Как принудительно перерисовать / изменить макет в Ext GWT (GXT)?

В 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();
    }

Спасибо

5
задан Cuga 24 January 2011 в 20:56
поделиться