java.lang.Object
javax.swing.text.View
javax.swing.text.html.ImageView
- All 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 declared in class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Fields declared in 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
-
Method Summary
Modifier and Type Method Description 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 cannot 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()
Returnstrue
if the image should be loaded when first asked for.Icon
getNoImageIcon()
Returns the icon to use if the image could not be found.float
getPreferredSpan(int axis)
Determines the preferred span for this view along an axis.protected StyleSheet
getStyleSheet()
Convenient method to get the StyleSheet.String
getToolTipText(float x, float y, Shape allocation)
For images the tooltip text comes from text specified with theALT
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 declared in class javax.swing.text.View
append, breakView, createFragment, forwardUpdate, forwardUpdateToView, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, updateChildren, updateLayout, viewToModel
-
Constructor Details
-
ImageView
Creates a new view that represents an IMG element.- Parameters:
elem
- the element to create a view for
-
-
Method Details
-
getAltText
Returns the text to display if the image cannot be loaded. This is obtained from the Elements attribute set with the attribute nameHTML.Attribute.ALT
.- Returns:
- the test to display if the image cannot be loaded.
-
getImageURL
Return a URL for the image source, or null if it could not be determined.- Returns:
- the URL for the image source, or null if it could not be determined.
-
getNoImageIcon
Returns the icon to use if the image could not be found.- Returns:
- the icon to use if the image could not be found.
-
getLoadingImageIcon
Returns the icon to use while in the process of loading the image.- Returns:
- the icon to use while in the process of loading the image.
-
getImage
Returns the image to render.- Returns:
- the image to render.
-
setLoadsSynchronously
public void setLoadsSynchronously(boolean newValue)Sets how the image is loaded. IfnewValue
is true, the image will 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.- Parameters:
newValue
- iftrue
the image will be loaded when first asked for, otherwise it will be asynchronously.
-
getLoadsSynchronously
public boolean getLoadsSynchronously()Returnstrue
if the image should be loaded when first asked for.- Returns:
true
if the image should be loaded when first asked for.
-
getStyleSheet
Convenient method to get the StyleSheet.- Returns:
- the StyleSheet
-
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 classView
- Returns:
- the attributes to use when rendering
-
getToolTipText
For images the tooltip text comes from text specified with theALT
attribute. This is overriden to returngetAltText
.- Overrides:
getToolTipText
in classView
- Parameters:
x
- the x coordinatey
- the y coordinateallocation
- current allocation of the View.- Returns:
- the tooltip text at the specified location
- See Also:
JTextComponent.getToolTipText(java.awt.event.MouseEvent)
-
setPropertiesFromAttributes
protected void setPropertiesFromAttributes()Update any cached values that come from attributes. -
setParent
Establishes the parent view for this view. Seize this moment to cache the AWT Container I'm in. -
changedUpdate
Invoked when the Elements attributes have changed. Recreates the image.- Overrides:
changedUpdate
in classView
- Parameters:
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has children- See Also:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-
paint
Paints the View.- Specified by:
paint
in classView
- Parameters:
g
- the rendering surface to usea
- the allocated region to render into- See Also:
View.paint(java.awt.Graphics, java.awt.Shape)
-
getPreferredSpan
public float getPreferredSpan(int axis)Determines the preferred span for this view along an axis.- Specified by:
getPreferredSpan
in classView
- 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
-
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 classView
- 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
-
modelToView
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.- Specified by:
modelToView
in classView
- Parameters:
pos
- the position to converta
- the allocated region to render intob
- the bias toward the previous character or the next character represented by the offset, in case the position is a boundary of two views;b
will have one of these values:-
Position.Bias.Forward
-
Position.Bias.Backward
-
- 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(int, java.awt.Shape, javax.swing.text.Position.Bias)
-
viewToModel
Provides a mapping from the view coordinate space to the logical coordinate space of the model.- Specified by:
viewToModel
in classView
- Parameters:
x
- the X coordinatey
- the Y coordinatea
- the allocated region to render intobias
- the returned bias- Returns:
- the location within the model that best represents the given point of view
- See Also:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
-
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.
-