我正在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%
答案 0 :(得分:0)
theTabSet.setMinHeight(WINDOW_HEIGHT);
似乎是要走的路。窗口设置为适合其内容,布局设置为填充画布。窗口知道最小高度和宽度,但最初布局不知道。所以我们需要手动设置它。