我在向其添加成员后获得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();
}
但情况是一样的,我第一次没有正确的价值。
答案 0 :(得分:0)
只有在加载小部件或点击按钮后,我们才能获得任何小部件的高度和宽度。
答案 1 :(得分:0)
Scheduler#scheduleDeferred()在GWT循环结束时执行,因此布局仍然没有时间更新。我想除了使用传统的计时器黑客之外你没有什么可做的(如果有任何读者有疑问,是的,我的意思是使用setTimeout()或Scheduler.get()。scheduleWithFixedDelay(cmd,200))。