blob: 7f3ce21cdba48b87028884103194d87b2da0f65b [file] [log] [blame]
/*
* 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);
}
}