Swing ImageIcon類

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示例


上一篇: Swing控件 下一篇: Swing事件處理