Module java.desktop
Package javax.swing

Class ImageIcon

java.lang.Object
javax.swing.ImageIcon
所有已实现的接口:
Serializable, Accessible, Icon

public class ImageIcon extends Object implements Icon, Serializable, Accessible
一个实现了Icon接口的类,用于绘制来自图像的图标。从URL、文件名或字节数组创建的图像会使用MediaTracker进行预加载,以监视图像的加载状态。

有关使用图标的更多信息和示例,请参阅Java教程中的如何使用图标

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

自1.2版本起:
1.2
  • Field Details

    • component

      @Deprecated protected static final Component component
      Deprecated.
      since 1.8
      不要使用此共享组件,它用于跟踪图像加载。仅用于向后兼容。
    • tracker

      @Deprecated protected static final MediaTracker tracker
      Deprecated.
      since 1.8
      不要使用此共享媒体跟踪器,它用于加载图像。仅用于向后兼容。
  • Constructor Details

    • ImageIcon

      public ImageIcon(String filename, String description)
      从指定文件创建一个图像图标。将使用MediaTracker预加载图像,以监视图像的加载状态。
      参数:
      filename - 包含图像的文件名
      description - 图像的简要文本描述
      参见:
    • ImageIcon

      @ConstructorProperties("description") public ImageIcon(String filename)
      从指定文件创建一个图像图标。将使用MediaTracker预加载图像,以监视图像的加载状态。指定的字符串可以是文件名或文件路径。在指定路径时,请使用Internet标准的正斜杠("/")作为分隔符。(字符串将转换为URL,因此正斜杠在所有系统上都有效。)例如,指定:
          new ImageIcon("images/myImage.gif") 
      描述将初始化为filename字符串。
      参数:
      filename - 指定的文件名或路径的字符串
      参见:
    • ImageIcon

      public ImageIcon(URL location, String description)
      从指定URL创建一个图像图标。将使用MediaTracker预加载图像,以监视图像的加载状态。
      参数:
      location - 图像的URL
      description - 图像的简要文本描述
      参见:
    • ImageIcon

      public ImageIcon(URL location)
      从指定URL创建一个图像图标。将使用MediaTracker预加载图像,以监视图像的加载状态。图标的描述将初始化为URL的字符串表示形式。
      参数:
      location - 图像的URL
      参见:
    • ImageIcon

      public ImageIcon(Image image, String description)
      从图像创建一个图像图标。
      参数:
      image - 图像
      description - 图像的简要文本描述
    • ImageIcon

      public ImageIcon(Image image)
      从图像对象创建一个图像图标。如果图像具有作为字符串的"comment"属性,则该字符串将用作此图标的描述。
      参数:
      image - 图像
      参见:
    • ImageIcon

      public ImageIcon(byte[] imageData, String description)
      从包含受支持图像格式(如GIF、JPEG或(自1.3版起)PNG)的图像文件中读取的字节数组创建一个图像图标。通常,此数组是通过使用Class.getResourceAsStream()读取图像创建的,但字节数组也可以静态存储在类中。
      参数:
      imageData - AWT Toolkit支持的图像格式的像素数组,如GIF、JPEG或(自1.3版起)PNG
      description - 图像的简要文本描述
      参见:
    • ImageIcon

      public ImageIcon(byte[] imageData)
      从包含受支持图像格式(如GIF、JPEG或(自1.3版起)PNG)的图像文件中读取的字节数组创建一个图像图标。通常,此数组是通过使用Class.getResourceAsStream()读取图像创建的,但字节数组也可以静态存储在类中。如果生成的图像具有作为字符串的"comment"属性,则该字符串将用作此图标的描述。
      参数:
      imageData - AWT Toolkit支持的图像格式的像素数组,如GIF、JPEG或(自1.3版起)PNG
      参见:
    • ImageIcon

      public ImageIcon()
      创建一个未初始化的图像图标。
  • Method Details

    • loadImage

      protected void loadImage(Image image)
      加载图像,在图像加载完成时才返回。
      参数:
      image - 图像
    • getImageLoadStatus

      public int getImageLoadStatus()
      返回图像加载操作的状态。
      返回:
      由java.awt.MediaTracker定义的加载状态
      参见:
    • getImage

      public Image getImage()
      返回此图标的Image
      返回:
      ImageIconImage对象
    • setImage

      public void setImage(Image image)
      设置此图标显示的图像。
      参数:
      image - 图像
    • getDescription

      public String getDescription()
      获取图像的描述。这是对象的简要文本描述。例如,可能会向盲用户呈现以指示图像用途的描述。描述可能为null。
      返回:
      图像的简要文本描述
    • setDescription

      public void setDescription(String description)
      设置图像的描述。这是对象的简要文本描述。例如,可能会向盲用户呈现以指示图像用途的描述。
      参数:
      description - 图像的简要文本描述
    • paintIcon

      public void paintIcon(Component c, Graphics g, int x, int y)
      绘制图标。图标的左上角在图形上下文g的坐标空间中的点(x, y)处绘制。如果此图标没有图像观察器,此方法将使用组件c作为观察器。
      指定者:
      paintIcon 在接口 Icon
      参数:
      c - 如果此图标没有图像观察器,则用作观察器的组件
      g - 图形上下文
      x - 图标左上角的X坐标
      y - 图标左上角的Y坐标
    • getIconWidth

      public int getIconWidth()
      获取图标的宽度。
      指定由:
      getIconWidth 在接口 Icon
      返回:
      此图标的宽度(以像素为单位)
    • getIconHeight

      public int getIconHeight()
      获取图标的高度。
      指定由:
      getIconHeight 在接口 Icon
      返回:
      此图标的高度(以像素为单位)
    • setImageObserver

      public void setImageObserver(ImageObserver observer)
      设置图像的图像观察器。如果ImageIcon包含动画GIF,则设置此属性,以便通知观察器更新其显示。例如:
           icon = new ImageIcon(...)
           button.setIcon(icon);
           icon.setImageObserver(button);
       
      参数:
      observer - 图像观察器
    • getImageObserver

      public ImageObserver getImageObserver()
      返回图像的图像观察器。
      返回:
      图像观察器,可能为null
    • toString

      public String toString()
      返回此图像的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      表示此图像的字符串
    • getAccessibleContext

      @BeanProperty(expert=true, description="The AccessibleContext associated with this ImageIcon.") public AccessibleContext getAccessibleContext()
      获取与此ImageIcon关联的AccessibleContext。对于图像图标,AccessibleContext采用AccessibleImageIcon的形式。如有必要,将创建一个新的AccessibleImageIcon实例。
      指定由:
      getAccessibleContext 在接口 Accessible
      返回:
      作为此ImageIcon的AccessibleContext的AccessibleImageIcon
      自:
      1.3