我需要自定義小部件高度。我試圖用這個GWT自定義小部件高度
Integer.toString(yourWidget.getElement().getOffsetHeight())
但是,
- 如果我用它當我創建它或將它添加到容器板,如果我在contrainer面板的
onLoad
使用它返回0 - 方法,它會在應用樣式之前返回小部件高度
那麼,何時應該在應用樣式之後使用它來獲取小部件高度?
非常感謝!
我需要自定義小部件高度。我試圖用這個GWT自定義小部件高度
Integer.toString(yourWidget.getElement().getOffsetHeight())
但是,
onLoad
使用它返回0那麼,何時應該在應用樣式之後使用它來獲取小部件高度?
非常感謝!
我不知道你是否已經解決了你的問題,但是使用JSNI的選項將確保小部件創建完成。
實現這一目標的一個方法是使用遞延命令:
DeferredCommand.addCommand(new Command() {
public void execute() {
// Ask here for the height
}
});
我覺得onAttach或的onLoad會是一個好抓..
@Override
protected void onLoad() {
super.onLoad();
//do sth
}
THX您的回覆,但有同樣的問題,任何其他的想法??? – david 2010-07-20 00:41:19
Firebug這樣的工具如何?它們顯示您期望的價值還是高度保持不變? (有很多方法可以影響CSS的高度 - 並不總是像你期望的那樣) – 2010-07-20 08:37:45
我記得我以前有一個相同的問題,並且不記得它是如何解決的。 ..基本上問題是,我試圖改變高度,而小部件仍然沒有完全構建...我會盡力找到代碼... – markovuksanovic 2010-07-20 14:46:08
似乎是同一種問題,即一個在這裏暴露:GWT - Retrieve size of a widget that is not displayed
他們使用JSNI做使用的解決方法他們想要什麼,也許一個類似的詭計也適用於你。
Thx很多! ir完美無缺!但是DeferredCommand現在已被棄用,所以我使用了Scheduler.get()。scheduleDeferred(new ScheduledCommand(){... – david 2012-03-14 15:03:26