窗口中的SmartGWT TabSet高度

时间:2013-02-26 18:31:28

标签: smartgwt

我正在TabSet中尝试Window。我希望窗口能够适应内容,所以我开启了autoSize,就像我对许多其他窗口一样。窗口有我想要的最小宽度和高度。我的问题是TabSet中的Window没有完全填满高度。

这是我的设置:

public MyWindow()
{

  setHeight(MIN_HEIGHT);
  setWidth(MIN_WIDTH);

  setAutoSize(true);

  theTabSet = new TabSet();
  theTabSet.setTabBarPosition(Side.TOP);
  theTabSet.setWidth100();
  theTabSet.setHeight100();

  // I need to set this for it to at least display the contents
  theTabSet.setPaneContainerOverflow(Overflow.VISIBL E);
  theTabSet.setOverflow(Overflow.VISIBLE);

  //This seems to solve my issue buy I think I shouldn't be doing this.
  theTabSet.setMinHeight(WINDOW_HEIGHT);

  Tab tab1 = new Tab("first");
  tab1.setPane(getFirstTab());

  Tab tab2 = new Tab("second");
  tab2.setTab(getSecondTab());

  addItem(theTabSet);

 }

  private Layout getFirstTab(){
   if(theFirstTab == null){
     theFirstTab = new VLayout();
     theFirstTab.setWidth100();
     theFirstTab().setHeight100();
   }
     return theFirstTab;
 }

如果我错过了什么,请告诉我。根据{{​​3}} API:

  

与其他Canvas子类一样,布局和堆栈组件可能有%   宽度和高度值。要创建动态调整大小的布局   占据整个页面(或整个父组件),设置宽度和   高度为“100%

1 个答案:

答案 0 :(得分:0)

theTabSet.setMinHeight(WINDOW_HEIGHT);

似乎是要走的路。窗口设置为适合其内容,布局设置为填充画布。窗口知道最小高度和宽度,但最初布局不知道。所以我们需要手动设置它。