por lo que yo sé, no se puede poner widget de arbitraria en un lienzo. Lo que puedes hacer es dibujar imágenes. Así que supongo que los widgets smartGWT a los que se refiere no son más que imágenes.
Si usted tiene un objeto de imagen GWT, así es como se obtiene previamente dibujado en un lienzo:
import com.google.gwt.canvas.client.Canvas;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.dom.client.ImageElement;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.RootLayoutPanel;
public class ImageCanvasTest implements EntryPoint {
public void onModuleLoad() {
Image image = new Image(
"http://upload.wikimedia.org/wikipedia/en/f/f6/Gwt-logo.png");
Canvas canvas = Canvas.createIfSupported();
canvas.getContext2d().drawImage(
ImageElement.as(image.getElement()), 0, 0);
RootLayoutPanel.get().add(canvas);
}
}
sé que esto es una cuestión de edad, sino por causa de otros lectores: la lona en el ejemplo enlazado pertenece a SmartGWT y no tiene nada que ver con HTML5 Canvas. – targumon
@targumon: imho es este SmartGWT-Canvas basado en un HTML5-Canvas regular y personalizado. – Erik
Erik, esto no es una cuestión de opinión :-D simplemente inspecciónelo en un navegador moderno: cuando usa ** com.smartgwt.client.widgets.Canvas **, y este es el caso en el ejemplo de java2s.com usted dio, el objeto DOM resultante es una etiqueta DIV: por ejemplo