Swing ImageIcon類

2019-10-16 22:10:39

ImageIcon類是Icon介面的一個實現,它使用圖片來繪製圖示。

類宣告

以下是javax.swing.ImageIcon類的宣告 -

public class ImageIcon
   extends Object
      implements Icon, Serializable, Accessible

欄位

以下是javax.swing.ImageIcon類的欄位 -

  • protected static Component component
  • protected static MediaTracker tracker

類建構函式

編號 建構函式 描述
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

類方法

編號 方法 描述
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() 返回此影象的字串表示形式。

方法繼承

該類繼承以下類中的方法 -

  • java.lang.Object

ImageIcon範例

使用編輯器建立以下Java程式 -


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ImageIconExample {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public ImageIconExample(){
      prepareGUI();
   }
   public static void main(String[] args){
       ImageIconExample  swingControlDemo = new ImageIconExample();      
      swingControlDemo.showImageIconDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing ImageIcon 範例");
      mainFrame.setSize(500,500);
      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 = ImageIconExample.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("images/java.jpg","Java");

      JLabel commentlabel = new JLabel("", icon,JLabel.CENTER);
      controlPanel.add(commentlabel);
      mainFrame.setVisible(true);  
   }
}

執行上面範例程式碼,得到以下結果:

ImageIcon示例