0

我正在尝试TabSetWindow. 我希望窗口适合内容,所以我打开autoSize了就像我对许多其他窗口所做的那样。窗口具有我想要的最小宽度和高度。我的问题是TabSetinWindow没有完全填满高度。

这是我的设置:

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;
 }

如果我遗漏了什么,请告诉我。根据布局API:

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

4

1 回答 1

0
theTabSet.setMinHeight(WINDOW_HEIGHT);

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

于 2013-02-26T21:25:07.847 回答