2010-07-19 62 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