o ile mi wiadomo, nie można umieścić dowolny widget na płótnie. Co możesz zrobić, to narysować obrazy. Sądzę więc, że widżety smartGWT, do których się odwołujesz, są niczym innym jak obrazami.
Jeśli masz zdjęcie obiektu GWT, jest to, w jaki sposób dostać się do sporządzenia na płótnie:
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);
}
}
wiem, jest to stara sprawa, ale dla innych czytelników: płótno w połączonej przykład należący do SmartGWT i nie ma nic wspólnego z HTML5 Canvas. – targumon
@ plargumon: imho to to urządzenie SmartGWT-Canvas oparte na zwykłym kanale HTML5 i dostosowane. – Erik
Erik, to nie jest kwestia opinii :-D po prostu sprawdź to w nowoczesnej przeglądarce - gdy używasz ** com.smartgwt.client.widgets.Canvas **, i tak jest w przypadku przykładu java2s.com dałeś, wynikowy obiekt DOM jest znacznikiem DIV: np