位置:首页 > Java技术 > Swing > Swing ImageIcon

Swing ImageIcon

ImageIcon类是一个实现从图像绘制图标的图标界面。

类声明

以下是声明 javax.swing.ImageIcon类:

public class ImageIcon
   extends Object
      implements Icon, Serializable, Accessible

字段域

以是javax.swing.ImageIcon类的字段:

  • protected static Component component

  • protected static MediaTracker tracker

类构造函数

S.N. 构造函数 & 描述
1 ImageIcon() 
Creates an uninitialized image icon.
2 ImageIcon(byte[] imageData) 
Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF, JPEG, or (as of 1.3) PNG.
3 ImageIcon(byte[] imageData, String description) 
Creates an ImageIcon from an array of bytes which were read from an image file containing a supported image format, such as GIF, JPEG, or (as of 1.3) PNG.
4 ImageIcon(Image image) 
Creates an ImageIcon from an image object.
5 ImageIcon(Image image, String description) 
Creates an ImageIcon from the image.
6 ImageIcon(String filename) 
Creates an ImageIcon from the specified file.
7 ImageIcon(String filename, String description) 
Creates an ImageIcon from the specified file.
8 ImageIcon(URL location) 
Creates an ImageIcon from the specified URL.
9 ImageIcon(URL location, String description) 
Creates an ImageIcon from the specified URL.

类方法

S.N. 方法 & 描述
1 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this ImageIcon.
2 String getDescription() 
Gets the description of the image.
3 int getIconHeight() 
Gets the height of the icon.
4 int getIconWidth() 
Gets the width of the icon.
5 Image getImage() 
Returns this icon's Image.
6 int getImageLoadStatus() 
Returns the status of the image loading operation.
7 ImageObserver getImageObserver() 
Returns the image observer for the image.
8 protected void loadImage(Image image) 
Loads the image, returning only when the image is loaded.
9 void paintIcon(Component c, Graphics g, int x, int y) 
Paints the icon.
10 void setDescription(String description) 
Sets the description of the image.
11 void setImage(Image image) 
Sets the image displayed by this icon.
12 void setImageObserver(ImageObserver observer) 
Sets the image observer for the image.
13 String toString() 
Returns a string representation of this image.

方法继承

这个类从以下类继承的方法:

  • java.lang.Object

ImageIcon 例子

选择使用任何编辑器创建以下java程序在 D:/ > SWING > com > yiibai > gui >

SwingControlDemo.java
package com.yiibai.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 comyiibaiguiSwingControlDemo.java

如果没有错误出现,这意味着编译成功。使用下面的命令来运行程序。

D:SWING>java com.yiibai.gui.SwingControlDemo

验证下面的输出

Swing ImageIcon