在GXT中,我有一个控件,底部组件添加了一个重要的面板,基本上是这样的:
public class SamplePanel extends ContentPanel {
ContentPanel panel = new ContentPanel();
public SamplePanel() {
setBottomComponent(panel);
}
public void setVisible(boolean isVisible) {
panel.setVisible(isVisible);
}
Run Code Online (Sandbox Code Playgroud)
该面板被设置为"底部组件",因为它需要保持在窗口小部件的底部并始终可见.
问题是,虽然面板的可见性正确切换,但"底部组件"区域不会调整大小以适应底部区域的新尺寸.
但是,我注意到当我用鼠标手动更改小部件的大小时,底部区域会调整大小.
有没有办法以编程方式强制重绘/重绘/重新布局......任何东西都要更改底部组件以反映其内容的新大小?
我已经尝试了所有这些并且它们不起作用:
public void setVisibility(boolean isVisible) {
panel.setVisible(isVisible);
doLayout(true);
recalculate();
repaint();
}
Run Code Online (Sandbox Code Playgroud)
谢谢
在最后一个gxt中你可以做到.
this.layout(true);
Run Code Online (Sandbox Code Playgroud)
否则,您可以触发Events.Resize事件.
归档时间: |
|
查看次数: |
16842 次 |
最近记录: |