ImageIcon

优质
小牛编辑
141浏览
2023-12-01

介绍 (Introduction)

ImageIcon类是Icon接口的一个实现,它从图像中绘制图标。

Class 声明 (Class Declaration)

以下是javax.swing.ImageIcon类的声明 -

public class ImageIcon
   extends Object
      implements Icon, Serializable, Accessible

字段 (Field)

以下是javax.swing.ImageIcon类的字段 -

  • protected static组件组件
  • protected static MediaTracker跟踪器

类构造函数 (Class Constructors)

Sr.No.构造函数和描述
1

ImageIcon()

创建未初始化的图像图标。

2

ImageIcon(byte[] imageData)

从包含支持的图像格式的图像文件(例如GIF,JPEG或(从1.3开始)PNG)读取的字节数组创建ImageIcon。

3

ImageIcon(byte[] imageData, String description)

从包含支持的图像格式的图像文件(例如GIF,JPEG或(从1.3开始)PNG)读取的字节数组创建ImageIcon。

4

ImageIcon(Image image)

从图像对象创建ImageIcon。

5

ImageIcon(Image image, String description)

从图像创建ImageIcon。

6

ImageIcon(String filename)

从指定的文件创建ImageIcon。

7

ImageIcon(String filename, String description)

从指定的文件创建ImageIcon。

8

ImageIcon(URL location)

从指定的URL创建ImageIcon。

9

ImageIcon(URL location, String description)

从指定的URL创建ImageIcon。

Class Methods

Sr.No.方法和描述
1

AccessibleContext getAccessibleContext()

获取与此ImageIcon关联的AccessibleContext。

2

String getDescription()

获取图像的描述。

3

int getIconHeight()

获取图标的高度。

4

int getIconWidth()

获取图标的宽度。

5

Image getImage()

返回此图标的图像。

6

int getImageLoadStatus()

返回图像加载操作的状态。

7

ImageObserver getImageObserver()

返回图像的图像观察者。

8

protected void loadImage(Image image)

加载图像,仅在加载图像时返回。

9

void paintIcon(Component c, Graphics g, int x, int y)

绘制图标。

10

void setDescription(String description)

设置图像的描述。

11

void setImage(Image image)

设置此图标显示的图像。

12

void setImageObserver(ImageObserver observer)

设置图像的图像观察者。

13

String toString()

返回此图像的字符串表示形式。

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • java.lang.Object

ImageIcon示例

使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》

SwingControlDemo.java

package cn.xnip.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;
   public SwingControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showImageIconDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new JLabel("", JLabel.CENTER);        
      statusLabel = new JLabel("",JLabel.CENTER);    
      statusLabel.setSize(350,100);
      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());
      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   // Returns an ImageIcon, or null if the path was invalid. 
   private static ImageIcon createImageIcon(String path,
      String description) {
      java.net.URL imgURL = SwingControlDemo.class.getResource(path);
      if (imgURL != null) {
         return new ImageIcon(imgURL, description);
      } else {            
         System.err.println("Couldn't find file: " + path);
         return null;
      }
   }
   private void showImageIconDemo(){
      headerLabel.setText("Control in action: ImageIcon"); 
      ImageIcon icon = createImageIcon("/resources/java_icon.png","Java");
      JLabel commentlabel = new JLabel("", icon,JLabel.CENTER);
      controlPanel.add(commentlabel);
      mainFrame.setVisible(true);  
   }
}

使用命令提示符编译程序。 转到D:/ 》 SWING并键入以下命令。

D:\SWING>javac com\xnip\gui\SwingControlDemo.java

如果没有错误发生,则表示编译成功。 使用以下命令运行该程序。

D:\SWING>java cn.xnip.gui.SwingControlDemo

验证以下输出。

Swing ImageIcon