2011-10-10 56 views
2

我想畫一個漸變並將其添加到AbsolutePanel,因此我需要absolutePanel的寬度和高度來定義漸變向量。但事件如果我將AbsolutePanel添加到RootLayoutPanel(通過DockPanel的北部控件,其寬度設置爲100%)並調用方法setGradient()之後,我仍然得到0的寬度和高度。我如何獲得面板的尺寸?在GWT中獲取面板寬度和高度

回答

4

使用getOffsetWidth()getOffsetHeight()方法。該文檔是在這裏:

Gets the object's offset width in pixels. This is the total width of the object, 
including decorations such as border, margin, and padding. 

的方法在UIObject中定義,因此通用於所有的小部件。

+1

是的,我知道,我使用這些方法,我也得到0 .. –

+1

也許你需要等待,直到它的佈局。最簡單的檢查是添加一些按鈕,並按下時產生漸變。如果它工作,那麼你應該設置一些超時或者在「some」事件處理程序中運行漸變代碼(onload也許)。您也可以添加Window.addResizeHandler()以在窗口大小調整時重新計算漸變。 – okrasz

+0

好的感謝信息,我猜我會得到尺寸的問題,現在更改爲CSS3漸變:) –