1

VLayout添加成员后,我的身高有问题

VLayot layout = new VLayout();

在演示者中我有代码

display.getAnswerPanel().removeMembers(display.getAnswerPanel().getMembers());

清除所有成员,然后添加另一个(我有按钮,当我单击它们时,它会清除所有VLayout成员并添加新成员)

layout.addMember(new Button("Example"));

我需要在开始时得到offsetHeight这个VLayout,每次单击按钮时,我的问题是第一次加载页面时,我的`offsetHeigh 为 1px,每次单击按钮时都可以,它显示了正确的值. 有人能帮我吗?

我尝试使用此代码

scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
    layout.getOffsetHeight();
}

但情况是一样的,第一次我没有正确的值。

4

2 回答 2

0

只有在加载小部件或单击按钮后,我们才能获取任何小部件的高度和宽度。

于 2013-10-01T11:52:04.613 回答
0

Scheduler#scheduleDeferred() 在 GWT 循环结束时执行,因此仍然没有时间更新布局。我想除了使用传统的计时器黑客之外,您无能为力(如果任何读者有疑问,是的,我的意思是使用 setTimeout() 或 Scheduler.get().scheduleWithFixedDelay(cmd, 200) )。

于 2015-11-06T22:24:45.160 回答