javax.swing.text.html

Class ImageView

public class ImageView extends View

A view, representing a single image, represented by the HTML IMG tag.
Constructor Summary
ImageView(Element element)
Creates the image view that represents the given element.
Method Summary
floatgetAlignment(int axis)
Get the image alignment.
StringgetAltText()
Get the text that should be shown as the image replacement and also as the image tool tip text.
AttributeSetgetAttributes()
Returns the combination of the document and the style sheet attributes.
ImagegetImage()
Get the image to render.
URLgetImageURL()
Get the URL location of the image to render.
IcongetLoadingImageIcon()
Get the icon that should be displayed while the image is loading and hence not yet available.
booleangetLoadsSynchronously()
Get the image loading strategy.
IcongetNoImageIcon()
Get the icon that should be displayed when the image is not available.
floatgetPreferredSpan(int axis)
Get the preferred span of the image along the axis.
protected StyleSheetgetStyleSheet()
Get the associated style sheet from the document.
StringgetToolTipText(float x, float y, Shape shape)
Get the tool tip text.
ShapemodelToView(int pos, Shape area, Position.Bias bias)
This is currently implemented always to return the area of the image view, as the image is not divideable by character positions.
voidpaint(Graphics g, Shape bounds)
Paints the image or one of the two image state icons.
voidsetLoadsSynchronously(boolean load_on_demand)
Set if the image should be loaded only when needed (synchronuosly).
protected voidsetPropertiesFromAttributes()
Update all cached properties from the attribute set, returned by the {@link #getAttributes}.
voidsetSize(float width, float height)
Starts loading the image asynchronuosly.
intviewToModel(float x, float y, Shape shape, Position.Bias[] bias)
Maps the picture co-ordinates into the image position in the model.

Constructor Detail

ImageView

public ImageView(Element element)
Creates the image view that represents the given element.

Parameters: element the element, represented by this image view.

Method Detail

getAlignment

public float getAlignment(int axis)
Get the image alignment. This method works handling standart alignment attributes in the HTML IMG tag (align = top bottom middle left right). Depending from the parameter, either horizontal or vertical alingment information is returned.

Parameters: axis - either X_AXIS or Y_AXIS

getAltText

public String getAltText()
Get the text that should be shown as the image replacement and also as the image tool tip text. The method returns the value of the attribute, having the name {@link Attribute#ALT}. If there is no such attribute, the image name from the url is returned. If the URL is not available, the empty string is returned.

getAttributes

public AttributeSet getAttributes()
Returns the combination of the document and the style sheet attributes.

getImage

public Image getImage()
Get the image to render. May return null if the image is not yet loaded.

getImageURL

public URL getImageURL()
Get the URL location of the image to render. If this method returns null, the "no image" icon is rendered instead. By defaul, url must be present as the "src" property of the IMG tag. If it is missing, null is returned and the "no image" icon is rendered.

Returns: the URL location of the image to render.

getLoadingImageIcon

public Icon getLoadingImageIcon()
Get the icon that should be displayed while the image is loading and hence not yet available.

Returns: an icon, showing a non broken sheet of paper with image.

getLoadsSynchronously

public boolean getLoadsSynchronously()
Get the image loading strategy.

Returns: false (default) if the image is loaded when the view is constructed, true if the image is only loaded on demand when rendering.

getNoImageIcon

public Icon getNoImageIcon()
Get the icon that should be displayed when the image is not available.

Returns: an icon, showing a broken sheet of paper with image.

getPreferredSpan

public float getPreferredSpan(int axis)
Get the preferred span of the image along the axis. The image size is first requested to the attributes {@link Attribute#WIDTH} and {@link Attribute#HEIGHT}. If they are missing, and the image is already loaded, the image size is returned. If there are no attributes, and the image is not loaded, zero is returned.

Parameters: axis - either X_AXIS or Y_AXIS

Returns: either width of height of the image, depending on the axis.

getStyleSheet

protected StyleSheet getStyleSheet()
Get the associated style sheet from the document.

Returns: the associated style sheet.

getToolTipText

public String getToolTipText(float x, float y, Shape shape)
Get the tool tip text. This is overridden to return the value of the {@link #getAltText()}. The parameters are ignored.

Returns: that is returned by getAltText().

modelToView

public Shape modelToView(int pos, Shape area, Position.Bias bias)
This is currently implemented always to return the area of the image view, as the image is not divideable by character positions.

Parameters: pos character position area of the image view bias bias

Returns: the shape, where the given character position should be mapped.

paint

public void paint(Graphics g, Shape bounds)
Paints the image or one of the two image state icons. The image is resized to the shape bounds. If there is no image available, the alternative text is displayed besides the image state icon.

Parameters: g the Graphics, used for painting. bounds the bounds of the region where the image or replacing icon must be painted.

setLoadsSynchronously

public void setLoadsSynchronously(boolean load_on_demand)
Set if the image should be loaded only when needed (synchronuosly). By default, the image loads asynchronuosly. If the image is not yet ready, the icon, returned by the {@link #getLoadingImageIcon()}, is displayed.

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()
Update all cached properties from the attribute set, returned by the {@link #getAttributes}.

setSize

public void setSize(float width, float height)
Starts loading the image asynchronuosly. If the image must be loaded synchronuosly instead, the {@link #setLoadsSynchronously} must be called before calling this method. The passed parameters are not used.

viewToModel

public int viewToModel(float x, float y, Shape shape, Position.Bias[] bias)
Maps the picture co-ordinates into the image position in the model. As the image is not divideable, this is currently implemented always to return the start offset.