2010-07-16 59 views
3

我有一个带有3个垂直面板的水平面板。 在垂直面板上有自定义小部件Gwt垂直面板单元高度

我需要所有垂直面板具有相同的高度(即使它们内部具有不同数量的小部件)和空白空间中的按钮。

所以,我把所有面板的高度= 100%,按钮高度= 100%。

的问题是,verticalpanel细胞高度是比我小部件大,所以它留下的所有verticalpanels部件之间的空间。

Here is an example

我怎样才能调整verticalpanels细胞高度到我的小部件的高度。我的小部件不是像这个例子那样的图像,所以我无法知道小部件的高度。

我有很多的时间在这个问题上,anyidea将有助于 THX !!!!

回答

0

还没有尝试过,但是这个应该工作,或至少给你的东西开始:

VerticalPanel.setCellHeight(yourWidget, Integer.toString(yourWidget.getElement().getOffsetHeight())+"px"); 

作用: setCellHeight()设置单元格控件的高度是你传递到功能。
函数中的第二个参数是该单元格的高度。这有点棘手,因为你不知道高度。
使用getElement(),您可以在浏览器的DOM中获取该小部件的元素,并在该元素上调用getOffsetHeight()。
getOffsetHeight()返回一个整数,所以你需要将它转换为一个字符串并将“px”连接到它,以便浏览器知道它是像素而不是em或类似的东西。

+0

thx,用getOffsetHeight我可以得到小部件的高度。但是,如果在将小部件添加到面板后使用它,高度为0px。如果我在onLoad()中使用该方法,它会计算窗口小部件的高度,但在它应用样式之前。 当我应该使用该方法来获得小部件高度后,它应用风格??? thx再次!!! – david 2010-07-16 21:39:48

+0

使用Cell的高度似乎是合乎逻辑的。我的其他要求是设置水平对齐,并通过相同的方式。但是......没有效果,它不工作,不知道为什么,如果找到一个我将在稍后发布的anwser。 – 2015-03-03 13:57:55

+0

发现它是什么,非常简单。只需添加第一(窗口小部件)和布局之后的值(水平aligment和高度),所以: 'verticalPanel.add(插件);'' vertialPanel.setCellHeight(插件 “30PX”);' – 2015-03-03 18:52:39