Class WImage


public class WImage extends WInteractWidget
A widget that displays an image.

The image may be specified either as a URL, or may be dynamically generated by a WResource.

You may listen to events by attaching event listeners to signals such as WInteractWidget.clicked(). Since mouse events pass the coordinates through a WMouseEvent object, it is possible to react to clicks in specific parts of the image. An alternative is to define interactive areas on the image using addArea(), which in addition allows to have customized tool tips for certain image areas (using WAbstractArea#setToolTip()).

WImage is an inline widget.

CSS

The widget corresponds to the HTML <img> tag and does not provide styling. It can be styled using inline or external CSS as appropriate.

See Also:
  • Constructor Details

  • Method Details

    • remove

      public void remove()
      Description copied from class: WWidget
      Destructor.

      Deletes a widget and all contained contents.

      Overrides:
      remove in class WInteractWidget
      See Also:
    • setAlternateText

      public void setAlternateText(CharSequence text)
      Sets an alternate text.

      The alternate text should provide a fallback for browsers that do not display an image. If no sensible fallback text can be provided, an empty text is preferred over nonsense.

      This should not be confused with WWebWidget.getToolTip() text, which provides additional information that is displayed when the mouse hovers over the image.

      The default alternate text is an empty text ("").

      See Also:
    • getAlternateText

      public WString getAlternateText()
      Returns the alternate text.

      See Also:
    • setImageLink

      public void setImageLink(WLink link)
      Sets the image link.

      The image may be specified as a URL or as a resource. A resource specifies application-dependent content, which may be used to generate an image on demand.

    • getImageLink

      public WLink getImageLink()
      Returns the image link.
    • addArea

      public void addArea(WAbstractArea area)
      Adds an interactive area.

      Adds the area which listens to events in a specific region of the image. Areas are organized in an indexed list, to which the given area is appended. When areas overlap, the area with the lowest index receives the event.

      Ownership of the area is transferred to the image.

      Note: Currently it is not possible to add a first area after the image has been rendered. If you want to use interactive areas you need to add one immediately.

    • insertArea

      public void insertArea(int index, WAbstractArea area)
      Inserts an interactive area.

      Inserts the area which listens to events in the coresponding area of the image. Areas are organized in a list, and the area is inserted at index index. When areas overlap, the area with the lowest index receives the event.

      Ownership of the area is transferred to the image.

      See Also:
    • removeArea

      public WAbstractArea removeArea(WAbstractArea area)
      Removes an interactive area.

      Removes the area from this widget.

    • getArea

      public WAbstractArea getArea(int index)
      Returns the interactive area at the given index.

      Returns null if index was invalid.

    • getAreas

      public List<WAbstractArea> getAreas()
      Returns the interactive areas set for this widget.

      See Also:
    • imageLoaded

      public EventSignal imageLoaded()
      Event emitted when the image was loaded.
    • setTargetJS

      public void setTargetJS(String targetJS)
    • getUpdateAreasJS

      public String getUpdateAreasJS()
    • getSetAreaCoordsJS

      public String getSetAreaCoordsJS()
    • getDomChanges

      protected void getDomChanges(List<DomElement> result, WApplication app)
      Description copied from class: WWebWidget
      Get DOM changes for this widget.

      This is an internal function, and should not be called directly, or be overridden!

      Overrides:
      getDomChanges in class WWebWidget
    • defineJavaScript

      protected void defineJavaScript()
    • render

      protected void render(EnumSet<RenderFlag> flags)
      Description copied from class: WWidget
      Renders the widget.

      This function renders the widget (or an update for the widget), after this has been scheduled using scheduleRender().

      The default implementation will render the widget by serializing changes to JavaScript and HTML. You may want to reimplement this widget if you have been postponing some of the layout / rendering implementation until the latest moment possible. In that case you should make sure you call the base implementation however.

      Overrides:
      render in class WWebWidget
    • getUpdateAreaCoordsJSON

      protected String getUpdateAreaCoordsJSON()