ImageView (Java Platform SE 8 ) (original) (raw)
- 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 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](../../../../javax/swing/text/View.html "class in javax.swing.text") `[BadBreakWeight](../../../../javax/swing/text/View.html#BadBreakWeight), [ExcellentBreakWeight](../../../../javax/swing/text/View.html#ExcellentBreakWeight), [ForcedBreakWeight](../../../../javax/swing/text/View.html#ForcedBreakWeight), [GoodBreakWeight](../../../../javax/swing/text/View.html#GoodBreakWeight), [X_AXIS](../../../../javax/swing/text/View.html#X%5FAXIS), [Y_AXIS](../../../../javax/swing/text/View.html#Y%5FAXIS)` * ### Fields inherited from interface javax.swing.[SwingConstants](../../../../javax/swing/SwingConstants.html "interface in javax.swing") `[BOTTOM](../../../../javax/swing/SwingConstants.html#BOTTOM), [CENTER](../../../../javax/swing/SwingConstants.html#CENTER), [EAST](../../../../javax/swing/SwingConstants.html#EAST), [HORIZONTAL](../../../../javax/swing/SwingConstants.html#HORIZONTAL), [LEADING](../../../../javax/swing/SwingConstants.html#LEADING), [LEFT](../../../../javax/swing/SwingConstants.html#LEFT), [NEXT](../../../../javax/swing/SwingConstants.html#NEXT), [NORTH](../../../../javax/swing/SwingConstants.html#NORTH), [NORTH_EAST](../../../../javax/swing/SwingConstants.html#NORTH%5FEAST), [NORTH_WEST](../../../../javax/swing/SwingConstants.html#NORTH%5FWEST), [PREVIOUS](../../../../javax/swing/SwingConstants.html#PREVIOUS), [RIGHT](../../../../javax/swing/SwingConstants.html#RIGHT), [SOUTH](../../../../javax/swing/SwingConstants.html#SOUTH), [SOUTH_EAST](../../../../javax/swing/SwingConstants.html#SOUTH%5FEAST), [SOUTH_WEST](../../../../javax/swing/SwingConstants.html#SOUTH%5FWEST), [TOP](../../../../javax/swing/SwingConstants.html#TOP), [TRAILING](../../../../javax/swing/SwingConstants.html#TRAILING), [VERTICAL](../../../../javax/swing/SwingConstants.html#VERTICAL), [WEST](../../../../javax/swing/SwingConstants.html#WEST)`
Constructor Summary
Constructors
Constructor Description ImageView(Element elem) Creates a new view that represents an IMG element. Method Summary
All Methods Instance Methods Concrete Methods
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 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 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 inherited from class javax.swing.text.[View](../../../../javax/swing/text/View.html "class in javax.swing.text") `[append](../../../../javax/swing/text/View.html#append-javax.swing.text.View-), [breakView](../../../../javax/swing/text/View.html#breakView-int-int-float-float-), [createFragment](../../../../javax/swing/text/View.html#createFragment-int-int-), [forwardUpdate](../../../../javax/swing/text/View.html#forwardUpdate-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [forwardUpdateToView](../../../../javax/swing/text/View.html#forwardUpdateToView-javax.swing.text.View-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [getBreakWeight](../../../../javax/swing/text/View.html#getBreakWeight-int-float-float-), [getChildAllocation](../../../../javax/swing/text/View.html#getChildAllocation-int-java.awt.Shape-), [getContainer](../../../../javax/swing/text/View.html#getContainer--), [getDocument](../../../../javax/swing/text/View.html#getDocument--), [getElement](../../../../javax/swing/text/View.html#getElement--), [getEndOffset](../../../../javax/swing/text/View.html#getEndOffset--), [getGraphics](../../../../javax/swing/text/View.html#getGraphics--), [getMaximumSpan](../../../../javax/swing/text/View.html#getMaximumSpan-int-), [getMinimumSpan](../../../../javax/swing/text/View.html#getMinimumSpan-int-), [getNextVisualPositionFrom](../../../../javax/swing/text/View.html#getNextVisualPositionFrom-int-javax.swing.text.Position.Bias-java.awt.Shape-int-javax.swing.text.Position.Bias:A-), [getParent](../../../../javax/swing/text/View.html#getParent--), [getResizeWeight](../../../../javax/swing/text/View.html#getResizeWeight-int-), [getStartOffset](../../../../javax/swing/text/View.html#getStartOffset--), [getView](../../../../javax/swing/text/View.html#getView-int-), [getViewCount](../../../../javax/swing/text/View.html#getViewCount--), [getViewFactory](../../../../javax/swing/text/View.html#getViewFactory--), [getViewIndex](../../../../javax/swing/text/View.html#getViewIndex-float-float-java.awt.Shape-), [getViewIndex](../../../../javax/swing/text/View.html#getViewIndex-int-javax.swing.text.Position.Bias-), [insert](../../../../javax/swing/text/View.html#insert-int-javax.swing.text.View-), [insertUpdate](../../../../javax/swing/text/View.html#insertUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [isVisible](../../../../javax/swing/text/View.html#isVisible--), [modelToView](../../../../javax/swing/text/View.html#modelToView-int-javax.swing.text.Position.Bias-int-javax.swing.text.Position.Bias-java.awt.Shape-), [modelToView](../../../../javax/swing/text/View.html#modelToView-int-java.awt.Shape-), [preferenceChanged](../../../../javax/swing/text/View.html#preferenceChanged-javax.swing.text.View-boolean-boolean-), [remove](../../../../javax/swing/text/View.html#remove-int-), [removeAll](../../../../javax/swing/text/View.html#removeAll--), [removeUpdate](../../../../javax/swing/text/View.html#removeUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [replace](../../../../javax/swing/text/View.html#replace-int-int-javax.swing.text.View:A-), [updateChildren](../../../../javax/swing/text/View.html#updateChildren-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-javax.swing.text.ViewFactory-), [updateLayout](../../../../javax/swing/text/View.html#updateLayout-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-java.awt.Shape-), [viewToModel](../../../../javax/swing/text/View.html#viewToModel-float-float-java.awt.Shape-)` * ### Methods inherited from class java.lang.[Object](../../../../java/lang/Object.html "class in java.lang") `[clone](../../../../java/lang/Object.html#clone--), [equals](../../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../../java/lang/Object.html#finalize--), [getClass](../../../../java/lang/Object.html#getClass--), [hashCode](../../../../java/lang/Object.html#hashCode--), [notify](../../../../java/lang/Object.html#notify--), [notifyAll](../../../../java/lang/Object.html#notifyAll--), [toString](../../../../java/lang/Object.html#toString--), [wait](../../../../java/lang/Object.html#wait--), [wait](../../../../java/lang/Object.html#wait-long-), [wait](../../../../java/lang/Object.html#wait-long-int-)`
Constructor Detail
* #### ImageView public ImageView([Element](../../../../javax/swing/text/Element.html "interface in javax.swing.text") elem) Creates a new view that represents an IMG element. Parameters: `elem` \- the element to create a view for
Method Detail
* #### getAltText public [String](../../../../java/lang/String.html "class in java.lang") 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`. * #### getImageURL public [URL](../../../../java/net/URL.html "class in java.net") getImageURL() Return a URL for the image source, or null if it could not be determined. * #### getNoImageIcon public [Icon](../../../../javax/swing/Icon.html "interface in javax.swing") getNoImageIcon() Returns the icon to use if the image couldn't be found. * #### getLoadingImageIcon public [Icon](../../../../javax/swing/Icon.html "interface in javax.swing") getLoadingImageIcon() Returns the icon to use while in the process of loading the image. * #### getImage public [Image](../../../../java/awt/Image.html "class in java.awt") getImage() Returns the image to render. * #### 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. * #### getLoadsSynchronously public boolean getLoadsSynchronously() Returns true if the image should be loaded when first asked for. * #### getStyleSheet protected [StyleSheet](../../../../javax/swing/text/html/StyleSheet.html "class in javax.swing.text.html") getStyleSheet() Convenience method to get the StyleSheet. * #### getAttributes public [AttributeSet](../../../../javax/swing/text/AttributeSet.html "interface in javax.swing.text") getAttributes() Fetches the attributes to use when rendering. This is implemented to multiplex the attributes specified in the model with a StyleSheet. Overrides: `[getAttributes](../../../../javax/swing/text/View.html#getAttributes--)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` * #### getToolTipText public [String](../../../../java/lang/String.html "class in java.lang") getToolTipText(float x, float y, [Shape](../../../../java/awt/Shape.html "interface in java.awt") allocation) For images the tooltip text comes from text specified with the`ALT` attribute. This is overriden to return`getAltText`. Overrides: `[getToolTipText](../../../../javax/swing/text/View.html#getToolTipText-float-float-java.awt.Shape-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` See Also: [JTextComponent.getToolTipText(java.awt.event.MouseEvent)](../../../../javax/swing/text/JTextComponent.html#getToolTipText-java.awt.event.MouseEvent-) * #### setPropertiesFromAttributes protected void setPropertiesFromAttributes() Update any cached values that come from attributes. * #### setParent public void setParent([View](../../../../javax/swing/text/View.html "class in javax.swing.text") parent) Establishes the parent view for this view. Seize this moment to cache the AWT Container I'm in. Overrides: `[setParent](../../../../javax/swing/text/View.html#setParent-javax.swing.text.View-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` Parameters: `parent` \- the new parent, or `null` if the view is being removed from a parent * #### changedUpdate public void changedUpdate([DocumentEvent](../../../../javax/swing/event/DocumentEvent.html "interface in javax.swing.event") e, [Shape](../../../../java/awt/Shape.html "interface in java.awt") a, [ViewFactory](../../../../javax/swing/text/ViewFactory.html "interface in javax.swing.text") f) Invoked when the Elements attributes have changed. Recreates the image. Overrides: `[changedUpdate](../../../../javax/swing/text/View.html#changedUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` Parameters: `e` \- the change information from the associated document `a` \- the current allocation of the view `f` \- 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)](../../../../javax/swing/text/View.html#changedUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-) * #### paint public void paint([Graphics](../../../../java/awt/Graphics.html "class in java.awt") g, [Shape](../../../../java/awt/Shape.html "interface in java.awt") a) Paints the View. Specified by: `[paint](../../../../javax/swing/text/View.html#paint-java.awt.Graphics-java.awt.Shape-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` Parameters: `g` \- the rendering surface to use `a` \- the allocated region to render into See Also: [View.paint(java.awt.Graphics, java.awt.Shape)](../../../../javax/swing/text/View.html#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](../../../../javax/swing/text/View.html#getPreferredSpan-int-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` 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 See Also: [View.getPreferredSpan(int)](../../../../javax/swing/text/View.html#getPreferredSpan-int-) * #### 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](../../../../javax/swing/text/View.html#getAlignment-int-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` 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 public [Shape](../../../../java/awt/Shape.html "interface in java.awt") modelToView(int pos, [Shape](../../../../java/awt/Shape.html "interface in java.awt") a, [Position.Bias](../../../../javax/swing/text/Position.Bias.html "class in javax.swing.text") b) throws [BadLocationException](../../../../javax/swing/text/BadLocationException.html "class in javax.swing.text") Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it. Specified by: `[modelToView](../../../../javax/swing/text/View.html#modelToView-int-java.awt.Shape-javax.swing.text.Position.Bias-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` Parameters: `pos` \- the position to convert `a` \- the allocated region to render into `b` \- 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](../../../../javax/swing/text/BadLocationException.html "class in javax.swing.text")` \- 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)](../../../../javax/swing/text/View.html#modelToView-int-java.awt.Shape-javax.swing.text.Position.Bias-) * #### viewToModel public int viewToModel(float x, float y, [Shape](../../../../java/awt/Shape.html "interface in java.awt") a, [Position.Bias](../../../../javax/swing/text/Position.Bias.html "class in javax.swing.text")[] bias) Provides a mapping from the view coordinate space to the logical coordinate space of the model. Specified by: `[viewToModel](../../../../javax/swing/text/View.html#viewToModel-float-float-java.awt.Shape-javax.swing.text.Position.Bias:A-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` 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 See Also: [View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias\[\])](../../../../javax/swing/text/View.html#viewToModel-float-float-java.awt.Shape-javax.swing.text.Position.Bias:A-) * #### 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](../../../../javax/swing/text/View.html#setSize-float-float-)` in class `[View](../../../../javax/swing/text/View.html "class in javax.swing.text")` Parameters: `width` \- the width >= 0 `height` \- the height >= 0
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.