3
我想在Canvas
小部件中包裝CanvasElement
(<canvas>
以HTML格式)。GWT:從CanvasElement創建Canvas小部件
許多小部件(例如標籤)具有用於包裝現有DOM元素的靜態方法SomeWidget.wrap(Element)
。 我想象畫布不具備這種方法,因爲不是所有瀏覽器都支持,因此用戶應該被迫去通過createIfSupported()
。
不幸的是,Canvas中的構造函數是私有的(protected將工作),這意味着Canvas不能被子類化。 (沒有在派生類中提供的任何構造函數。)的createIfSupported
代碼段和Canvas類的構造函數:
public static Canvas createIfSupported() {
// check if canvas is supported; if it is not supported: return null
return new Canvas(element);
}
private Canvas(CanvasElement element) {
setElement(element);
}
我結束了複製Canvas類,使構造公衆。
有沒有更好的方法來做到這一點? 如果不是,它背後的原因是什麼(除此之外<canvas>
可能不被支持)?
我正在使用GWT版本2.4.0.rc1。
感謝, 朱利安