Canvas
ウィジェットでCanvasElement
(HTMLで<canvas>
)をラップします。GWT:CanvasElementからキャンバスウィジェットを作成します。
多くのウィジェット(たとえば、ラベル)には、既存のDOMエレメントをラップするための静的メソッドSomeWidget.wrap(Element)
があります。 私はすべてのブラウザのサポートので、ユーザーはcreateIfSupported()
を通過するように強制する必要がありませんので、キャンバスには、このような方法を備えていない想像してみてください。
残念ながらキャンバス内のコンストラクタは、キャンバスがサブクラス化できないことを意味し、(仕事と保護)プライベートです。 (派生クラスで利用可能な任意のコンストラクタはありません。)
コード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を使用しています。
おかげで、 ジュリアン