2011-05-30 56 views
0

我在隐藏面板中有一个画布。它是在面板可见之前创建的。我想将其DOM宽度设置为100%的问题,但是我对setCoordinateSpaceWidth有问题,因为我无法通过getOffsetWidth获取画布维度,因为画布不可见。我甚至不认为我可以为Canvas添加resize事件,也不存在VisibleEvent。如果有人对如何规避问题有所了解,我们将不胜感激?GWT - 在不可见时设置画布尺寸

干杯,

托马斯

回答

0

(下面的一个潜在的解决方案,而不仅仅是一个 “我也是”。请继续阅读)

类似的问题在这里。 画布在TabLayoutPanel的选项卡上。 第二个选项卡上的一些控件可用于操作画布。 绘图失败,因为画布报告0宽度。

获得画布(或其容器元素)宽度或VisibleEvent的可靠方法是完美的。

我的解决方案是将一个selectionHandler添加到选项卡面板。 当我的画布面板变得可见时,我使用scheduleDeferred来调用方法,以便在画布上绘图并强制重画。当我的画布以外的选项卡被选中时,我禁用绘图在我的画布上。

不适合每个人,但可能会给你一个想法!