javax.swing.text.html

Class ImageView

Implemented Interfaces:
SwingConstants

public class ImageView
extends View

View of an Image, intended to support the HTML <IMG> tag. Supports scaling via the HEIGHT and WIDTH attributes of the tag. If the image is unable to be loaded any text specified via the ALT attribute will be rendered.

While this class has been part of swing for a while now, it is public as of 1.4.

Since:
1.4
See Also:
IconView

Field Summary

Fields inherited from class javax.swing.text.View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

Fields inherited from interface javax.swing.SwingConstants

BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST

Constructor Summary

ImageView(Element elem)
Creates a new view that represents an IMG element.

Method Summary

void
changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
Invoked when the Elements attributes have changed.
float
getAlignment(int axis)
Determines the desired alignment for this view along an axis.
String
getAltText()
Returns the text to display if the image can't be loaded.
AttributeSet
getAttributes()
Fetches the attributes to use when rendering.
Image
getImage()
Returns the image to render.
URL
getImageURL()
Return a URL for the image source, or null if it could not be determined.
Icon
getLoadingImageIcon()
Returns the icon to use while in the process of loading the image.
boolean
getLoadsSynchronously()
Returns true if the image should be loaded when first asked for.
Icon
getNoImageIcon()
Returns the icon to use if the image couldn't be found.
float
getPreferredSpan(int axis)
Determines the preferred span for this view along an axis.
protected StyleSheet
getStyleSheet()
Convenience method to get the StyleSheet.
String
getToolTipText(float x, float y, Shape allocation)
For images the tooltip text comes from text specified with the ALT attribute.
Shape
modelToView(int pos, Shape a, Position.Bias b)
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
void
paint(Graphics g, Shape a)
Paints the View.
void
setLoadsSynchronously(boolean newValue)
Sets how the image is loaded.
void
setParent(View parent)
Establishes the parent view for this view.
protected void
setPropertiesFromAttributes()
Update any cached values that come from attributes.
void
setSize(float width, float height)
Sets the size of the view.
int
viewToModel(float x, float y, Shape a, Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical coordinate space of the model.

Methods inherited from class javax.swing.text.View

Shape modelToView, append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, int viewToModel, isVisible, modelToView, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, replace, setParent, setSize, updateChildren, updateLayout, viewToModel

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

ImageView

public ImageView(Element elem)
Creates a new view that represents an IMG element.
Parameters:
elem - the element to create a view for
Usages and Demos :

View More Examples of ImageView(Element elem)
   1:     {
   2:       ImageView r=new ImageView(_e)
   3:       {
   4:         public URL getImageURL()
   5:         {

View Full Code Here

Method Details

changedUpdate

public void changedUpdate(DocumentEvent e,
                          Shape a,
                          ViewFactory f)
Invoked when the Elements attributes have changed. Recreates the image.
Overrides:
changedUpdate in interface View

getAlignment

public float getAlignment(int axis)
Determines the desired alignment for this view along an axis. This is implemented to give the alignment to the bottom of the icon along the y axis, and the default along the x axis.
Overrides:
getAlignment in interface View
Parameters:
axis - may be either X_AXIS or Y_AXIS
Returns:
the desired alignment; this should be a value between 0.0 and 1.0 where 0 indicates alignment at the origin and 1.0 indicates alignment to the full span away from the origin; an alignment of 0.5 would be the center of the view

getAltText

public String getAltText()
Returns the text to display if the image can't be loaded. This is obtained from the Elements attribute set with the attribute name HTML.Attribute.ALT.

getAttributes

public AttributeSet getAttributes()
Fetches the attributes to use when rendering. This is implemented to multiplex the attributes specified in the model with a StyleSheet.
Overrides:
getAttributes in interface View

getImage

public Image getImage()
Returns the image to render.

getImageURL

public URL getImageURL()
Return a URL for the image source, or null if it could not be determined.

getLoadingImageIcon

public Icon getLoadingImageIcon()
Returns the icon to use while in the process of loading the image.

getLoadsSynchronously

public boolean getLoadsSynchronously()
Returns true if the image should be loaded when first asked for.

getNoImageIcon

public Icon getNoImageIcon()
Returns the icon to use if the image couldn't be found.

getPreferredSpan

public float getPreferredSpan(int axis)
Determines the preferred span for this view along an axis.
Overrides:
getPreferredSpan in interface View
Parameters:
axis - may be either X_AXIS or Y_AXIS
Returns:
the span the view would like to be rendered into; typically the view is told to render into the span that is returned, although there is no guarantee; the parent may choose to resize or break the view

getStyleSheet

protected StyleSheet getStyleSheet()
Convenience method to get the StyleSheet.

getToolTipText

public String getToolTipText(float x,
                             float y,
                             Shape allocation)
For images the tooltip text comes from text specified with the ALT attribute. This is overriden to return getAltText.
Overrides:
getToolTipText in interface View

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
            throws BadLocationException
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
Overrides:
modelToView in interface View
Parameters:
pos - the position to convert
a - the allocated region to render into
Returns:
the bounding box of the given position
Throws:
BadLocationException - if the given position does not represent a valid location in the associated document
See Also:
View.modelToView

paint

public void paint(Graphics g,
                  Shape a)
Paints the View.
Overrides:
paint in interface View
Parameters:
g - the rendering surface to use
a - the allocated region to render into

setLoadsSynchronously

public void setLoadsSynchronously(boolean newValue)
Sets how the image is loaded. If newValue is true, the image we be loaded when first asked for, otherwise it will be loaded asynchronously. The default is to not load synchronously, that is to load the image asynchronously.
Usages and Demos :

View More Examples of setLoadsSynchronously(boolean newValue)
   1: 
   2:     protected ImageView createViewIMG(Element _e)
   3:     {
   4:         ...
   5:       ImageView r=new ImageView(_e)
   6:       {
   7:         ...
   8:       };
   9:       r.setLoadsSynchronously(true);
  10:       return r;

View Full Code Here
   1: import javax.swing.text.html.HTMLEditorKit;
   2: import javax.swing.text.html.ImageView;
   3: 
   4:         ...
   5: 
   6:             if (view instanceof ImageView) {
   7:         ...
   8:                 ImageView imageView = (ImageView)view;
   9:         ...
  10:                 imageView.setLoadsSynchronously(MWebBrowser.this.synchronousImageLoading);

View Full Code Here

setParent

public void setParent(View parent)
Establishes the parent view for this view. Seize this moment to cache the AWT Container I'm in.
Overrides:
setParent in interface View

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()
Update any cached values that come from attributes.

setSize

public void setSize(float width,
                    float height)
Sets the size of the view. This should cause layout of the view if it has any layout duties.
Overrides:
setSize in interface View
Parameters:
width - the width >= 0
height - the height >= 0

viewToModel

public int viewToModel(float x,
                       float y,
                       Shape a,
                       Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical coordinate space of the model.
Overrides:
viewToModel in interface View
Parameters:
x - the X coordinate
y - the Y coordinate
a - the allocated region to render into
Returns:
the location within the model that best represents the given point of view