2011-05-30 61 views
0

我在隱藏面板中有一個畫布。它是在面板可見之前創建的。我想將其DOM寬度設置爲100%的問題,但是我對setCoordinateSpaceWidth有問題,因爲我無法通過getOffsetWidth獲取畫布維度,因爲畫布不可見。我甚至不認爲我可以爲Canvas添加resize事件,也不存在VisibleEvent。如果有人對如何規避問題有所瞭解,我們將不勝感激?GWT - 在不可見時設置畫布尺寸

乾杯,

托馬斯

回答

0

(下面的一個潛在的解決方案,而不僅僅是一個 「我也是」。請繼續閱讀)

類似的問題在這裏。 畫布在TabLayoutPanel的選項卡上。 第二個選項卡上的一些控件可用於操作畫布。 繪圖失敗,因爲畫布報告0寬度。

獲得畫布(或其容器元素)寬度或VisibleEvent的可靠方法是完美的。

我的解決方案是將一個selectionHandler添加到選項卡面板。 當我的畫布面板變得可見時,我使用scheduleDeferred來調用方法,以便在畫布上繪圖並強制重畫。當我的畫布以外的選項卡被選中時,我禁用繪圖在我的畫布上。

不適合每個人,但可能會給你一個想法!