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
使用編輯器建立以下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);
}
}
執行上面範例程式碼,得到以下結果: