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