| /* |
| * Copyright 2007 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. |
| */ |
| package com.google.gwt.examples; |
| |
| import com.google.gwt.core.client.EntryPoint; |
| import com.google.gwt.event.dom.client.ClickEvent; |
| import com.google.gwt.event.dom.client.ClickHandler; |
| import com.google.gwt.event.dom.client.ErrorEvent; |
| import com.google.gwt.event.dom.client.ErrorHandler; |
| import com.google.gwt.user.client.ui.Button; |
| import com.google.gwt.user.client.ui.HorizontalPanel; |
| import com.google.gwt.user.client.ui.Image; |
| import com.google.gwt.user.client.ui.Label; |
| import com.google.gwt.user.client.ui.RootPanel; |
| import com.google.gwt.user.client.ui.VerticalPanel; |
| |
| public class ImageExample implements EntryPoint { |
| |
| private Label lbl = new Label(); |
| private Button btn = new Button("Clip this image"); |
| private Button btn2 = new Button("Restore image"); |
| |
| public void onModuleLoad() { |
| // Create an image, not yet referencing a URL. We make it final so that we |
| // can manipulate the image object within the ClickHandlers for the buttons. |
| final Image image = new Image(); |
| |
| // Hook up an error handler, so that we can be informed if the image fails |
| // to load. |
| image.addErrorHandler(new ErrorHandler() { |
| public void onError(ErrorEvent event) { |
| lbl.setText("An error occurred while loading."); |
| } |
| }); |
| |
| // Point the image at a real URL. |
| image.setUrl("http://www.google.com/images/logo.gif"); |
| |
| // When the user clicks this button, we want to clip the image. |
| btn.addClickHandler(new ClickHandler() { |
| public void onClick(ClickEvent event) { |
| image.setVisibleRect(70, 0, 47, 110); |
| } |
| }); |
| btn.setWidth("120px"); |
| |
| // When the user clicks this button, we want to restore the image to its |
| // unclipped state. |
| btn2.addClickHandler(new ClickHandler() { |
| public void onClick(ClickEvent event) { |
| image.setUrl("http://www.google.com/images/logo.gif"); |
| } |
| }); |
| btn2.setWidth("120px"); |
| |
| // Add the image, label, and clip/restore buttons to the root panel. |
| VerticalPanel panel = new VerticalPanel(); |
| panel.add(lbl); |
| panel.add(image); |
| |
| HorizontalPanel buttonPanel = new HorizontalPanel(); |
| buttonPanel.add(btn); |
| buttonPanel.add(btn2); |
| |
| panel.add(buttonPanel); |
| |
| RootPanel.get().add(panel); |
| } |
| } |