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。
感谢, 朱利安