Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.gwt.user.client.ui
Class Image

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.Widget
              com.google.gwt.user.client.ui.Image

All Implemented Interfaces:
  HasAllMouseHandlers, HasClickHandlers, HasErrorHandlers, HasLoadHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasHandlers, EventListener, SourcesClickEvents, SourcesLoadEvents, SourcesMouseEvents

    public class Image

extends Widget
implements SourcesLoadEvents, HasLoadHandlers, HasErrorHandlers, SourcesClickEvents, HasClickHandlers, HasAllMouseHandlers, SourcesMouseEvents

A widget that displays the image at a given URL. The image can be in 'unclipped' mode (the default) or 'clipped' mode. In clipped mode, a viewport is overlaid on top of the image so that a subset of the image will be displayed. In unclipped mode, there is no viewport - the entire image will be visible. Whether an image is in clipped or unclipped mode depends on how the image is constructed, and how it is transformed after construction. Methods will operate differently depending on the mode that the image is in. These differences are detailed in the documentation for each method.

If an image transitions between clipped mode and unclipped mode, any `Element`-specific attributes added by the user (including style attributes, style names, and style modifiers), except for event listeners, will be lost.

### CSS Style Rules

- .gwt-Image { }

Tranformations between clipped and unclipped state will result in a loss of any style names that were set/added; the only style names that are preserved are those that are mentioned in the static CSS style rules. Due to browser-specific HTML constructions needed to achieve the clipping effect, certain CSS attributes, such as padding and background, may not work as expected when an image is in clipped mode. These limitations can usually be easily worked around by encapsulating the image in a container widget that can itself be styled.

### Example

>     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);
>       }
>     }

Nested Class Summary

Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

Field Summary

Fields inherited from class com.google.gwt.user.client.ui.UIObject
`DEBUG_ID_PREFIX`

Constructor Summary
`` | `Image()` Creates an empty image.
`protected` | `Image(Element element)` This constructor may be used by subclasses to explicitly use an existing element.
`` | `Image(java.lang.String url)` Creates an image with a specified URL.
`` | `Image(java.lang.String url, int left, int top, int width, int height)` Creates a clipped image with a specified URL and visibility rectangle.

Method Summary
`HandlerRegistration` | `addClickHandler(ClickHandler handler)` Adds a `ClickEvent` handler.
`void` | `addClickListener(ClickListener listener)` Deprecated. Use `addClickHandler(com.google.gwt.event.dom.client.ClickHandler)` instead
`HandlerRegistration` | `addErrorHandler(ErrorHandler handler)` Adds a `ErrorEvent` handler.
`HandlerRegistration` | `addLoadHandler(LoadHandler handler)` Adds a `LoadEvent` handler.
`void` | `addLoadListener(LoadListener listener)` Deprecated. use `LoadHandler` and `ErrorHandler` instead
`HandlerRegistration` | `addMouseDownHandler(MouseDownHandler handler)` Adds a `MouseDownEvent` handler.
`void` | `addMouseListener(MouseListener listener)` Deprecated. Use `addMouseOverHandler(com.google.gwt.event.dom.client.MouseOverHandler)` `addMouseMoveHandler(com.google.gwt.event.dom.client.MouseMoveHandler)`, `addMouseDownHandler(com.google.gwt.event.dom.client.MouseDownHandler)`, `addMouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler)` and `addMouseOutHandler(com.google.gwt.event.dom.client.MouseOutHandler)` instead
`HandlerRegistration` | `addMouseMoveHandler(MouseMoveHandler handler)` Adds a `MouseMoveEvent` handler.
`HandlerRegistration` | `addMouseOutHandler(MouseOutHandler handler)` Adds a `MouseOutEvent` handler.
`HandlerRegistration` | `addMouseOverHandler(MouseOverHandler handler)` Adds a `MouseOverEvent` handler.
`HandlerRegistration` | `addMouseUpHandler(MouseUpHandler handler)` Adds a `MouseUpEvent` handler.
`HandlerRegistration` | `addMouseWheelHandler(MouseWheelHandler handler)` Adds a `MouseWheelEvent` handler.
`void` | `addMouseWheelListener(MouseWheelListener listener)` Deprecated. Use `addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)` instead
`int` | `getHeight()` Gets the height of the image.
`int` | `getOriginLeft()` Gets the horizontal co-ordinate of the upper-left vertex of the image's visibility rectangle.
`int` | `getOriginTop()` Gets the vertical co-ordinate of the upper-left vertex of the image's visibility rectangle.
`java.lang.String` | `getUrl()` Gets the URL of the image.
`int` | `getWidth()` Gets the width of the image.
`static void` | `prefetch(java.lang.String url)` Causes the browser to pre-fetch the image at a given URL.
`void` | `removeClickListener(ClickListener listener)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addClickHandler(com.google.gwt.event.dom.client.ClickHandler)` instead
`void` | `removeLoadListener(LoadListener listener)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead
`void` | `removeMouseListener(MouseListener listener)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead
`void` | `removeMouseWheelListener(MouseWheelListener listener)` Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)` instead
`void` | `setUrl(java.lang.String url)` Sets the URL of the image to be displayed.
`void` | `setUrlAndVisibleRect(java.lang.String url, int left, int top, int width, int height)` Sets the url and the visibility rectangle for the image at the same time.
`void` | `setVisibleRect(int left, int top, int width, int height)` Sets the visibility rectangle of an image.
`static Image` | `wrap(Element element)` Creates a Image widget that wraps an existing <img> element.

Methods inherited from class com.google.gwt.user.client.ui.Widget
`addDomHandler, addHandler, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, sinkEvents`

Methods inherited from class com.google.gwt.user.client.ui.UIObject
`addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, toString, unsinkEvents`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Methods inherited from interface com.google.gwt.event.shared.HasHandlers
`fireEvent`

Constructor Detail

### Image

    public Image()

  Creates an empty image.

### Image

    public Image(java.lang.String url)

  Creates an image with a specified URL. The load event will be fired once the image at the given URL has been retrieved by the browser.

  Parameters:
    `url` - the URL of the image to be displayed

### Image

    public Image(java.lang.String url,
                 int left,
                 int top,
                 int width,
                 int height)

  Creates a clipped image with a specified URL and visibility rectangle. The visibility rectangle is declared relative to the the rectangle which encompasses the entire image, which has an upper-left vertex of (0,0). The load event will be fired immediately after the object has been constructed (i.e. potentially before the image has been loaded in the browser). Since the width and height are specified explicitly by the user, this behavior will not cause problems with retrieving the width and height of a clipped image in a load event handler.

  Parameters:
    `url` - the URL of the image to be displayed
    `left` - the horizontal co-ordinate of the upper-left vertex of the visibility rectangle
    `top` - the vertical co-ordinate of the upper-left vertex of the visibility rectangle
    `width` - the width of the visibility rectangle
    `height` - the height of the visibility rectangle

### Image

    protected Image(Element element)

  This constructor may be used by subclasses to explicitly use an existing element. This element must be an <img> element.

  Parameters:
    `element` - the element to be used

Method Detail

### prefetch

    public static void prefetch(java.lang.String url)

  Causes the browser to pre-fetch the image at a given URL.

  Parameters:
    `url` - the URL of the image to be prefetched

### wrap

    public static Image wrap(Element element)

  Creates a Image widget that wraps an existing <img> element. This element must already be attached to the document. If the element is removed from the document, you must call `RootPanel.detachNow(Widget)`.

  Parameters:
    `element` - the element to be wrapped

### addClickHandler

    public HandlerRegistration addClickHandler(ClickHandler handler)

  Description copied from interface: `HasClickHandlers`
  Adds a `ClickEvent` handler.

  Specified by:
    `addClickHandler` in interface `HasClickHandlers`
  Parameters:
    `handler` - the click handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addClickListener

    @Deprecated
    public void addClickListener(ClickListener listener)

  Deprecated. Use `addClickHandler(com.google.gwt.event.dom.client.ClickHandler)` instead

  Description copied from interface: `SourcesClickEvents`
  Adds a listener interface to receive click events.

  Specified by:
    `addClickListener` in interface `SourcesClickEvents`
  Parameters:
    `listener` - the listener interface to add

### addErrorHandler

    public HandlerRegistration addErrorHandler(ErrorHandler handler)

  Description copied from interface: `HasErrorHandlers`
  Adds a `ErrorEvent` handler.

  Specified by:
    `addErrorHandler` in interface `HasErrorHandlers`
  Parameters:
    `handler` - the error handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addLoadHandler

    public HandlerRegistration addLoadHandler(LoadHandler handler)

  Description copied from interface: `HasLoadHandlers`
  Adds a `LoadEvent` handler.

  Specified by:
    `addLoadHandler` in interface `HasLoadHandlers`
  Parameters:
    `handler` - the load handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addLoadListener

    @Deprecated
    public void addLoadListener(LoadListener listener)

  Deprecated. use `LoadHandler` and `ErrorHandler` instead

  Description copied from interface: `SourcesLoadEvents`
  Adds a listener interface to receive load events.

  Specified by:
    `addLoadListener` in interface `SourcesLoadEvents`
  Parameters:
    `listener` - the listener interface to add

### addMouseDownHandler

    public HandlerRegistration addMouseDownHandler(MouseDownHandler handler)

  Description copied from interface: `HasMouseDownHandlers`
  Adds a `MouseDownEvent` handler.

  Specified by:
    `addMouseDownHandler` in interface `HasMouseDownHandlers`
  Parameters:
    `handler` - the mouse down handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseListener

    @Deprecated
    public void addMouseListener(MouseListener listener)

  Deprecated. Use `addMouseOverHandler(com.google.gwt.event.dom.client.MouseOverHandler)` `addMouseMoveHandler(com.google.gwt.event.dom.client.MouseMoveHandler)`, `addMouseDownHandler(com.google.gwt.event.dom.client.MouseDownHandler)`, `addMouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler)` and `addMouseOutHandler(com.google.gwt.event.dom.client.MouseOutHandler)` instead

  Description copied from interface: `SourcesMouseEvents`
  Adds a listener interface to receive mouse events.

  Specified by:
    `addMouseListener` in interface `SourcesMouseEvents`
  Parameters:
    `listener` - the listener interface to add

### addMouseMoveHandler

    public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler)

  Description copied from interface: `HasMouseMoveHandlers`
  Adds a `MouseMoveEvent` handler.

  Specified by:
    `addMouseMoveHandler` in interface `HasMouseMoveHandlers`
  Parameters:
    `handler` - the mouse move handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseOutHandler

    public HandlerRegistration addMouseOutHandler(MouseOutHandler handler)

  Description copied from interface: `HasMouseOutHandlers`
  Adds a `MouseOutEvent` handler.

  Specified by:
    `addMouseOutHandler` in interface `HasMouseOutHandlers`
  Parameters:
    `handler` - the mouse out handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseOverHandler

    public HandlerRegistration addMouseOverHandler(MouseOverHandler handler)

  Description copied from interface: `HasMouseOverHandlers`
  Adds a `MouseOverEvent` handler.

  Specified by:
    `addMouseOverHandler` in interface `HasMouseOverHandlers`
  Parameters:
    `handler` - the mouse over handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseUpHandler

    public HandlerRegistration addMouseUpHandler(MouseUpHandler handler)

  Description copied from interface: `HasMouseUpHandlers`
  Adds a `MouseUpEvent` handler.

  Specified by:
    `addMouseUpHandler` in interface `HasMouseUpHandlers`
  Parameters:
    `handler` - the mouse up handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseWheelHandler

    public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler)

  Description copied from interface: `HasMouseWheelHandlers`
  Adds a `MouseWheelEvent` handler.

  Specified by:
    `addMouseWheelHandler` in interface `HasMouseWheelHandlers`
  Parameters:
    `handler` - the mouse wheel handler
  Returns:
    `HandlerRegistration` used to remove this handler

### addMouseWheelListener

    @Deprecated
    public void addMouseWheelListener(MouseWheelListener listener)

  Deprecated. Use `addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)` instead

### getHeight

    public int getHeight()

  Gets the height of the image. When the image is in the unclipped state, the height of the image is not known until the image has been loaded (i.e. load event has been fired for the image).

  Returns:
    the height of the image, or 0 if the height is unknown

### getOriginLeft

    public int getOriginLeft()

  Gets the horizontal co-ordinate of the upper-left vertex of the image's visibility rectangle. If the image is in the unclipped state, then the visibility rectangle is assumed to be the rectangle which encompasses the entire image, which has an upper-left vertex of (0,0).

  Returns:
    the horizontal co-ordinate of the upper-left vertex of the image's visibility rectangle

### getOriginTop

    public int getOriginTop()

  Gets the vertical co-ordinate of the upper-left vertex of the image's visibility rectangle. If the image is in the unclipped state, then the visibility rectangle is assumed to be the rectangle which encompasses the entire image, which has an upper-left vertex of (0,0).

  Returns:
    the vertical co-ordinate of the upper-left vertex of the image's visibility rectangle

### getUrl

    public java.lang.String getUrl()

  Gets the URL of the image. The URL that is returned is not necessarily the URL that was passed in by the user. It may have been transformed to an absolute URL.

  Returns:
    the image URL

### getWidth

    public int getWidth()

  Gets the width of the image. When the image is in the unclipped state, the width of the image is not known until the image has been loaded (i.e. load event has been fired for the image).

  Returns:
    the width of the image, or 0 if the width is unknown

### removeClickListener

    @Deprecated
    public void removeClickListener(ClickListener listener)

  Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addClickHandler(com.google.gwt.event.dom.client.ClickHandler)` instead

  Description copied from interface: `SourcesClickEvents`
  Removes a previously added listener interface.

  Specified by:
    `removeClickListener` in interface `SourcesClickEvents`
  Parameters:
    `listener` - the listener interface to remove

### removeLoadListener

    @Deprecated
    public void removeLoadListener(LoadListener listener)

  Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead

  Description copied from interface: `SourcesLoadEvents`
  Removes a previously added listener interface.

  Specified by:
    `removeLoadListener` in interface `SourcesLoadEvents`
  Parameters:
    `listener` - the listener interface to remove

### removeMouseListener

    @Deprecated
    public void removeMouseListener(MouseListener listener)

  Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by an add*Handler method instead

  Description copied from interface: `SourcesMouseEvents`
  Removes a previously added listener interface.

  Specified by:
    `removeMouseListener` in interface `SourcesMouseEvents`
  Parameters:
    `listener` - the listener interface to remove

### removeMouseWheelListener

    @Deprecated
    public void removeMouseWheelListener(MouseWheelListener listener)

  Deprecated. Use the `HandlerRegistration.removeHandler()` method on the object returned by `addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)` instead

### setUrl

    public void setUrl(java.lang.String url)

  Sets the URL of the image to be displayed. If the image is in the clipped state, a call to this method will cause a transition of the image to the unclipped state. Regardless of whether or not the image is in the clipped or unclipped state, a load event will be fired.

  Parameters:
    `url` - the image URL

### setUrlAndVisibleRect

    public void setUrlAndVisibleRect(java.lang.String url,
                                     int left,
                                     int top,
                                     int width,
                                     int height)

  Sets the url and the visibility rectangle for the image at the same time. A single load event will be fired if either the incoming url or visiblity rectangle co-ordinates differ from the image's current url or current visibility rectangle co-ordinates. If the image is currently in the unclipped state, a call to this method will cause a transition to the clipped state.

  Parameters:
    `url` - the image URL
    `left` - the horizontal coordinate of the upper-left vertex of the visibility rectangle
    `top` - the vertical coordinate of the upper-left vertex of the visibility rectangle
    `width` - the width of the visibility rectangle
    `height` - the height of the visibility rectangle

### setVisibleRect

    public void setVisibleRect(int left,
                               int top,
                               int width,
                               int height)

  Sets the visibility rectangle of an image. The visibility rectangle is declared relative to the the rectangle which encompasses the entire image, which has an upper-left vertex of (0,0). Provided that any of the left, top, width, and height parameters are different than the those values that are currently set for the image, a load event will be fired. If the image is in the unclipped state, a call to this method will cause a transition of the image to the clipped state. This transition will cause a load event to fire.

  Parameters:
    `left` - the horizontal coordinate of the upper-left vertex of the visibility rectangle
    `top` - the vertical coordinate of the upper-left vertex of the visibility rectangle
    `width` - the width of the visibility rectangle
    `height` - the height of the visibility rectangle

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD