|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.swing.text.View javax.swing.text.html.ImageView
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.
IconView
Nested Class Summary | |
private class |
ImageView.ImageHandler
ImageHandler implements the ImageObserver to correctly update the display as new parts of the image become available. |
private class |
ImageView.ImageLabelView
ImageLabelView is used if the image can't be loaded, and the attribute specified an alt attribute. |
Field Summary | |
private View |
altView
Used for alt text. |
private AttributeSet |
attr
|
private Color |
borderColor
|
private short |
borderSize
|
private short |
bottomInset
|
private Container |
container
|
private static int |
DEFAULT_BORDER
Default border to use if one is not specified. |
private static int |
DEFAULT_HEIGHT
|
private static int |
DEFAULT_WIDTH
|
private Rectangle |
fBounds
|
private int |
height
|
private static int |
HEIGHT_FLAG
|
private Image |
image
|
private static String |
IMAGE_CACHE_PROPERTY
Document property for image cache. |
private ImageObserver |
imageObserver
We don't directly implement ImageObserver, instead we use an instance that calls back to us. |
private short |
leftInset
|
private static int |
LINK_FLAG
|
private static int |
LOADING_FLAG
|
private static String |
MISSING_IMAGE_SRC
File name for sMissingImageIcon . |
private static String |
PENDING_IMAGE_SRC
File name for sPendingImageIcon . |
private static int |
RELOAD_FLAG
|
private static int |
RELOAD_IMAGE_FLAG
|
private short |
rightInset
|
private static int |
sIncRate
Repaint delay when some of the bits are available. |
private static boolean |
sIsInc
If true, when some of the bits are available a repaint is done. |
private static Icon |
sMissingImageIcon
Icon used if the image could not be found. |
private static Icon |
sPendingImageIcon
Icon used while the image is being loaded. |
private int |
state
Bitmask containing some of the above bitmask values. |
private static int |
SYNC_LOAD_FLAG
|
private short |
topInset
|
private float |
vAlign
Alignment along the vertical (Y) axis. |
private int |
width
|
private static int |
WIDTH_FLAG
|
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. |
private View |
getAltView()
Returns the view to use for alternate text. |
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. |
private int |
getIntAttr(HTML.Attribute name,
int deflt)
Convenience method for getting an integer attribute from the elements AttributeSet. |
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. |
private float |
getPreferredSpanFromAltView(int axis)
Returns the preferred span of the View used to display the alt text, or 0 if the view does not exist. |
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. |
private boolean |
hasPixels(Image image)
Returns true if the passed in image has a non-zero width and height. |
private boolean |
isLink()
Returns true if this image within a link? |
private void |
loadDefaultIconsIfNecessary()
|
private void |
loadImage()
Loads the image from the URL getImageURL . |
private Icon |
makeIcon(String gifFile)
|
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. |
private void |
paintBorder(Graphics g,
Rectangle rect)
|
private void |
paintHighlights(Graphics g,
Shape shape)
|
private void |
refreshImage()
Loads the image and updates the size accordingly. |
private void |
repaint(long delay)
Request that this view be repainted. |
private void |
safePreferenceChanged()
Invokes preferenceChanged on the event displatching
thread. |
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. |
private void |
sync()
Makes sure the necessary properties and image is loaded. |
private void |
updateAltTextView()
Updates the view representing the alt text. |
private void |
updateBorderForNoImage()
Invoked if no image is found, in which case a default border is used if one isn't specified. |
private void |
updateImageSize()
Recreates and reloads the image. |
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 |
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static boolean sIsInc
This is set to false as swing does not offer a repaint that takes a delay. If this were true, a bunch of immediate repaints would get generated that end up significantly delaying the loading of the image (or anything else going on for that matter).
private static int sIncRate
private static Icon sPendingImageIcon
private static Icon sMissingImageIcon
private static final String PENDING_IMAGE_SRC
sPendingImageIcon
.
private static final String MISSING_IMAGE_SRC
sMissingImageIcon
.
private static final String IMAGE_CACHE_PROPERTY
private static final int DEFAULT_WIDTH
private static final int DEFAULT_HEIGHT
private static final int DEFAULT_BORDER
private static final int LOADING_FLAG
private static final int LINK_FLAG
private static final int WIDTH_FLAG
private static final int HEIGHT_FLAG
private static final int RELOAD_FLAG
private static final int RELOAD_IMAGE_FLAG
private static final int SYNC_LOAD_FLAG
private AttributeSet attr
private Image image
private int width
private int height
private int state
private Container container
private Rectangle fBounds
private Color borderColor
private short borderSize
private short leftInset
private short rightInset
private short topInset
private short bottomInset
private ImageObserver imageObserver
private View altView
private float vAlign
Constructor Detail |
public ImageView(Element elem)
elem
- the element to create a view forMethod Detail |
public String getAltText()
HTML.Attribute.ALT
.
public URL getImageURL()
public Icon getNoImageIcon()
public Icon getLoadingImageIcon()
public Image getImage()
public void setLoadsSynchronously(boolean newValue)
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.
public boolean getLoadsSynchronously()
protected StyleSheet getStyleSheet()
public AttributeSet getAttributes()
getAttributes
in class View
public String getToolTipText(float x, float y, Shape allocation)
ALT
attribute. This is overriden to return
getAltText
.
getToolTipText
in class View
JTextComponent.getToolTipText(java.awt.event.MouseEvent)
protected void setPropertiesFromAttributes()
public void setParent(View parent)
setParent
in class View
parent
- the new parent, or null
if the view is
being removed from a parentpublic void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
changedUpdate
in class View
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void paint(Graphics g, Shape a)
paint
in class View
g
- the rendering surface to usea
- the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)
private void paintHighlights(Graphics g, Shape shape)
private void paintBorder(Graphics g, Rectangle rect)
public float getPreferredSpan(int axis)
getPreferredSpan
in class View
axis
- may be either X_AXIS or Y_AXIS
View.getPreferredSpan(int)
public float getAlignment(int axis)
getAlignment
in class View
axis
- may be either X_AXIS or Y_AXIS
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView
in class View
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
BadLocationException
- if the given position does not represent a
valid location in the associated documentView.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
viewToModel
in class View
x
- the X coordinatey
- the Y coordinatea
- the allocated region to render into
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public void setSize(float width, float height)
setSize
in class View
width
- the width >= 0height
- the height >= 0private boolean isLink()
private boolean hasPixels(Image image)
private float getPreferredSpanFromAltView(int axis)
private Icon makeIcon(String gifFile) throws IOException
IOException
private void repaint(long delay)
private void loadDefaultIconsIfNecessary()
private int getIntAttr(HTML.Attribute name, int deflt)
private void sync()
private void refreshImage()
loadImage
or
updateImageSize
directly.
private void loadImage()
getImageURL
. This should
only be invoked from refreshImage
.
private void updateImageSize()
refreshImage
.
private void updateAltTextView()
private View getAltView()
private void safePreferenceChanged()
preferenceChanged
on the event displatching
thread.
private void updateBorderForNoImage()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |