Lớp ImageIcon trong Java Swing Lớp ImageIcon, là một trình triển khai của Icon Iterface, để vẽ các Icon từ các Image.. Dưới đây là cú pháp khai báo của lớp javax.swing.ImageIcon: publi
Trang 1Lớp ImageIcon trong Java Swing
Lớp ImageIcon, là một trình triển khai của Icon Iterface, để vẽ các Icon từ các Image Dưới đây là
cú pháp khai báo của lớp javax.swing.ImageIcon:
public class ImageIcon
extends Object
implements Icon, Serializable, Accessible
Lớp này kế thừa các phương thức từ các lớp sau:
java.lang.Object
Lớp ImageIcon có các trường sau:
protected static Component component
protected static MediaTracker tracker
Các constructor của lớp ImageIcon trong lớp Java
Swing
ImageIcon(): Tạo một image icon chưa được khởi tạo
ImageIcon(byte[] imageData): Tạo một ImageIcon từ một mảng byte mà đã được đọc từ một image file chứa một định dạng hình ảnh được hỗ trợ, như GIF, JPEG
ImageIcon(Image image): Tạo một ImageIcon từ một đối tượng Image
ImageIcon(String filename): Tạo ImageIcon từ file đã cho
ImageIcon(URL location): Tạo ImageIcon từ URL đã cho
Các phương thức của lớp ImageIcon trong Java Swing
STT Phương thức & Miêu tả
1 Image getImage()
Trang 2Trả về hình ảnh của icon này
2 int getImageLoadStatus()
Trả về trạng thái của hoạt động tải hình ảnh này
3 ImageObserver getImageObserver()
Trả về trình quan sát observer cho hình ảnh này
4 protected void loadImage(Image image)
Tải hình ảnh, trả về chỉ khi hình ảnh được tải
5 void paintIcon(Component c, Graphics g, int x, int y)
Sơn màu icon
6 void setDescription(String description)
Thiết lập sự miêu tả của hình ảnh
7 void setImage(Image image)
Thiết lập hình ảnh được hiển thi bởi icon này
8 String toString()
Trả về một biểu diễn chuỗi của hình ảnh
Chương trình ví dụ lớp ImageIcon
package com.vietjack.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
Trang 3
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("Vi du Java Swing");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout( , 1));
mainFrame.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent windowEvent){
System.exit( );
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
Trang 4controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
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);
}
Trang 5}