javax.swing

Class ImageIcon

Implemented Interfaces:
Accessible, Icon, Serializable

public class ImageIcon
extends Object
implements Icon, Serializable, Accessible

An Icon implementation that is backed by an Image.
See Also:
Serialized Form

Nested Class Summary

protected class
ImageIcon.AccessibleImageIcon
Provides the accessibility features for the ImageIcon class.

Field Summary

protected static Component
component
A dummy Component that is used in the MediaTracker.
protected static MediaTracker
tracker
The MediaTracker used to monitor the loading of images.

Constructor Summary

ImageIcon()
Creates an ImageIcon without any properties set.
ImageIcon(byte[] imageData)
Creates an ImageIcon from the given byte array without any description set.
ImageIcon(byte[] imageData, String description)
Creates an ImageIcon from the given byte array and sets the given description.
ImageIcon(Image image)
Creates an ImageIcon from the given Image without any description set.
ImageIcon(Image image, String description)
Creates an ImageIcon from the given Image and sets the given description.
ImageIcon(String filename)
Constructs an ImageIcon given a filename.
ImageIcon(String filename, String description)
Constructs an ImageIcon from the given filename, setting its description to the given description.
ImageIcon(URL url)
Creates an ImageIcon from the given URL and sets the description to the URL String representation.
ImageIcon(URL url, String description)
Creates an ImageIcon from the given URL and sets the given description.

Method Summary

AccessibleContext
getAccessibleContext()
Returns the object that provides accessibility features for this ImageIcon instance.
String
getDescription()
Returns a human readable description for this ImageIcon or null when no description is set or available.
int
getIconHeight()
Returns the the height of the backing Image, or -1 if the backing Image is null.
int
getIconWidth()
Returns the the width of the backing Image, or -1 if the backing Image is null.
Image
getImage()
Returns the backing Image for this ImageIcon.
int
getImageLoadStatus()
Returns the load status of the icon image.
ImageObserver
getImageObserver()
Returns the ImageObserver that is used for all Image operations.
protected void
loadImage(Image image)
Loads the image and blocks until the loading operation is finished.
void
paintIcon(Component c, Graphics g, int x, int y)
Calls g.drawImage() on the backing Image using the set observer of this ImageIcon.
void
setDescription(String description)
Sets a human readable description for this ImageIcon.
void
setImage(Image image)
Explicitly sets the backing Image for this ImageIcon.
void
setImageObserver(ImageObserver newObserver)
Sets the ImageObserver that will be used for all Image operations.

Methods inherited from class java.lang.Object

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

Field Details

component

protected static final Component component
A dummy Component that is used in the MediaTracker.

tracker

protected static final MediaTracker tracker
The MediaTracker used to monitor the loading of images.

Constructor Details

ImageIcon

public ImageIcon()
Creates an ImageIcon without any properties set.

ImageIcon

public ImageIcon(byte[] imageData)
Creates an ImageIcon from the given byte array without any description set.

ImageIcon

public ImageIcon(byte[] imageData,
                 String description)
Creates an ImageIcon from the given byte array and sets the given description.

ImageIcon

public ImageIcon(Image image)
Creates an ImageIcon from the given Image without any description set.

ImageIcon

public ImageIcon(Image image,
                 String description)
Creates an ImageIcon from the given Image and sets the given description.

ImageIcon

public ImageIcon(String filename)
Constructs an ImageIcon given a filename. The icon's description is initially set to the filename itself. A filename of "" means create a blank icon.
Parameters:
filename - name of file to load or "" for a blank icon

ImageIcon

public ImageIcon(String filename,
                 String description)
Constructs an ImageIcon from the given filename, setting its description to the given description. A filename of "" means create a blank icon.
Parameters:
filename - name of file to load or "" for a blank icon
description - human-readable description of this icon

ImageIcon

public ImageIcon(URL url)
Creates an ImageIcon from the given URL and sets the description to the URL String representation.

ImageIcon

public ImageIcon(URL url,
                 String description)
Creates an ImageIcon from the given URL and sets the given description.

Method Details

getAccessibleContext

public AccessibleContext getAccessibleContext()
Returns the object that provides accessibility features for this ImageIcon instance.
Specified by:
getAccessibleContext in interface Accessible
Returns:
The accessible context (an instance of ImageIcon.AccessibleImageIcon).

getDescription

public String getDescription()
Returns a human readable description for this ImageIcon or null when no description is set or available.

getIconHeight

public int getIconHeight()
Returns the the height of the backing Image, or -1 if the backing Image is null. The getHeight() method of the Image will be called with the set observer of this ImageIcon.
Specified by:
getIconHeight in interface Icon

getIconWidth

public int getIconWidth()
Returns the the width of the backing Image, or -1 if the backing Image is null. The getWidth() method of the Image will be called with the set observer of this ImageIcon.
Specified by:
getIconWidth in interface Icon

getImage

public Image getImage()
Returns the backing Image for this ImageIcon. Might be set to null in which case no image is shown.

getImageLoadStatus

public int getImageLoadStatus()
Returns the load status of the icon image.
Returns:
the load status of the icon image

getImageObserver

public ImageObserver getImageObserver()
Returns the ImageObserver that is used for all Image operations. Defaults to null when not explicitly set.

loadImage

protected void loadImage(Image image)
Loads the image and blocks until the loading operation is finished.
Parameters:
image - the image to be loaded

paintIcon

public void paintIcon(Component c,
                      Graphics g,
                      int x,
                      int y)
Calls g.drawImage() on the backing Image using the set observer of this ImageIcon. If the set observer is null, the given Component is used as observer.
Specified by:
paintIcon in interface Icon

setDescription

public void setDescription(String description)
Sets a human readable description for this ImageIcon. Can be set to null when no description is available.

setImage

public void setImage(Image image)
Explicitly sets the backing Image for this ImageIcon. Will call loadImage() to make sure that the Image is completely loaded before returning.

setImageObserver

public void setImageObserver(ImageObserver newObserver)
Sets the ImageObserver that will be used for all Image operations. Can be set to null (the default) when no observer is needed.

ImageIcon.java -- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.