Gwt 强制ContentPanel重新布置其组件

Gwt 强制ContentPanel重新布置其组件,gwt,gxt,Gwt,Gxt,我使用BorderLayoutContainer和2个ContentPanel实现了一个水平可拆分面板: -------------------------------------------------- | ContentPanel 1 | ContentPanel2 | | | | | component 1 - component 2 |

我使用BorderLayoutContainer和2个ContentPanel实现了一个水平可拆分面板:

--------------------------------------------------
|  ContentPanel 1           |  ContentPanel2     |
|                           |                    |
| component 1 - component 2 |                    |
|                         <-|->                  |
|                           |                    |
|                           |                    |
--------------------------------------------------
}

问题:

当用户拖动该条,使“组件1”和“组件2”无法再放在同一行中时,高度计算中会出现一些问题,导致显示不正确

--------------------------------------------------
|  ContentPanel 1  |        ContentPanel2        |
|                  |                             |
| component 1      |                             |
| component 2    <-|->                           |
|                  |                             |
| *bad display for |                             |
| compos here*     |                             |
--------------------------------------------------

有什么想法吗?

为什么不使用viewport?可能会对您有所帮助。我不知道这个类的存在,所以我阅读了有关它的文档。文档解释说,您必须创建一个视口并将其添加到根面板。问题是我使用了GWTP和revelplace()方法,因此我从未直接访问RootPanel()。您知道如何将GXT ViewPort与GWTP?ContentPanel.layout(true)混合使用吗?
--------------------------------------------------
|  ContentPanel 1  |        ContentPanel2        |
|                  |                             |
| component 1      |                             |
| component 2    <-|->                           |
|                  |                             |
| *bad display for |                             |
| compos here*     |                             |
--------------------------------------------------
westPanel.addResizeHandler(new ResizeHandler() {
  @Override
  public void onResize(final ResizeEvent event) {
    Timer t=new Timer(){
      @Override
      public void run() {
        westPanel.setWidth(westPanel.getOffsetWidth()-1);
      }
    };
    t.schedule(2000);
  }
});