Add Image to Canvas (Smart GWT)
/*
* SmartGWT (GWT for SmartClient)
* Copyright 2008 and beyond, Isomorphic Software, Inc.
*
* SmartGWT is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3
* as published by the Free Software Foundation. SmartGWT is also
* available under typical commercial license terms - see
* http://smartclient.com/license
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.smartgwt.sample.showcase.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Random;
import com.google.gwt.user.client.ui.RootPanel;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;
public class Showcase implements EntryPoint{
public void onModuleLoad() {
RootPanel.get().add(getViewPanel());
}
public Canvas getViewPanel() {
VLayout layout = new VLayout();
layout.setMembersMargin(10);
final Canvas cubeBin = new Canvas("cubeBin");
cubeBin.setTop(40);
cubeBin.setWidth(400);
cubeBin.setHeight(300);
cubeBin.setShowEdges(true);
IButton button = new IButton();
button.setTitle("Create");
button.setIcon("pieces/16/cube_blue.png");
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
final Img img = new Img();
img.setLeft(Random.nextInt(340));
img.setTop(Random.nextInt(240));
img.setWidth(48);
img.setHeight(48);
img.setParentElement(cubeBin);
img.setSrc("pieces/48/cube_blue.png");
img.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
img.destroy();
}
});
img.draw();
}
});
layout.addMember(button);
layout.addMember(cubeBin);
return layout;
}
}
Related examples in the same category