Java tutorial
package com.ritchey.attendance.client.view; /* * Copyright 2010 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.safehtml.shared.SafeHtmlUtils; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.LoadListener; import com.google.gwt.user.client.ui.Widget; /** * An {@link AbstractCell} used to render an {@link ImageResource}. * * <p> * This class assumes that the URL returned from ImageResource is safe from * script attacks. If you do not generate the ImageResource from a * {@link com.google.gwt.resources.client.ClientBundle ClientBundle}, you should * use {@link com.google.gwt.safehtml.shared.UriUtils UriUtils} to sanitize the * URL before returning it from {@link ImageResource#getURL()}. */ public class ClickImageCell extends AbstractCell<String> { /** * Construct a new ImageResourceCell. */ public ClickImageCell() { super("click"); } @Override public void render(com.google.gwt.cell.client.Cell.Context context, String value, SafeHtmlBuilder sb) { if (value != null) {// SafeHtml html = SafeHtmlUtils.fromTrustedString( "<div style='background:lightgray; min-height: 128px; max-width: 128px; min-width: 128px; text-align: center;'><img alt='No Photo Available' style='vertical-align: middle; width: 128px; height: 128px;' src='" + value + "' /></div>" + ""); sb.append(html); } } }