位置:首頁 > 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