2010-07-19 103 views
5

我需要自定义小部件高度。我试图用这个GWT自定义小部件高度

Integer.toString(yourWidget.getElement().getOffsetHeight()) 

但是,

  • 如果我用它当我创建它或将它添加到容器板,如果我在contrainer面板的onLoad使用它返回0
  • 方法,它会在应用样式之前返回小部件高度

那么,何时应该在应用样式之后使用它来获取小部件高度?

非常感谢!

回答

1

我不知道你是否已经解决了你的问题,但是使用JSNI的选项将确保小部件创建完成。

实现这一目标的一个方法是使用递延命令:

DeferredCommand.addCommand(new Command() { 
     public void execute() { 
      // Ask here for the height 
     } 
    }); 
+0

Thx很多! ir完美无缺!但是DeferredCommand现在已被弃用,所以我使用了Scheduler.get()。scheduleDeferred(new ScheduledCommand(){... – david 2012-03-14 15:03:26

0

我觉得onAttach或的onLoad会是一个好抓..

@Override 
protected void onLoad() { 
    super.onLoad(); 
    //do sth 
} 
+0

THX您的回复,但有同样的问题,任何其他的想法??? – david 2010-07-20 00:41:19

+0

Firebug这样的工具如何?它们显示您期望的价值还是高度保持不变? (有很多方法可以影响CSS的高度 - 并不总是像你期望的那样) – 2010-07-20 08:37:45

+0

我记得我以前有一个相同的问题,并且不记得它是如何解决的。 ..基本上问题是,我试图改变高度,而小部件仍然没有完全构建...我会尽力找到代码... – markovuksanovic 2010-07-20 14:46:08