GUI学习之IMAGEicon学习
IMAGEicon学习:它根据 Image 绘制 Icon。可使用 MediaTracker 预载根据 URL、文件名或字节数组创建的图像,以监视该图像的加载状态。
与ICon的区别:
Icon:图标,画像
Image:影像
Icon是接口,有以下方法
int getIconHeight(); int getIconWidth(); void paintIcon(Component c, Graphics g, int x, int y);
ImageIcon实现Icon,从图像绘制图标的实现。 使用MediaTracker预先从URL,文件名或字节数组中获取创建的图像,实现图像的加载。-----「trancybao」
ImageIcon类
实现的接口: Serializable, Accessible, Icon
父类:Object
import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JLabel; /** * * @author Administrator */ public class fabu { /** * @param args * the command line arguments */ @SuppressWarnings("deprecation") public static void main(String[] args) { // TODO code application logic here final Frame f = new Frame("图片上传");// 标题 final JLabel lbl = new JLabel(); f.setSize(600, 400);// 对话框大小 f.setLocation(100, 100);// 对话框初始位置 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); MenuBar mb = new MenuBar(); Menu m1 = new Menu("photolist"); Menu m2 = new Menu("video栏"); MenuItem mi1 = new MenuItem("photo1"); MenuItem mi2 = new MenuItem("open"); mi2.addActionListener(new ActionListener() { // 打开文件夹 public void actionPerformed(ActionEvent e) { FileDialog fd = new FileDialog(f, "photo open", FileDialog.LOAD); fd.show(); String fileName = fd.getDirectory() + fd.getFile(); Icon icon = new ImageIcon(fileName,""); lbl.setIcon(icon); } }); MenuItem mi3 = new MenuItem("photo3"); MenuItem mi4 = new MenuItem("photo4"); MenuItem mi5 = new MenuItem("video1"); MenuItem mi6 = new MenuItem("video2"); m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.add(mi4); m2.add(mi5); m2.add(mi6); mb.add(m1); mb.add(m2); f.setMenuBar(mb); f.add(lbl); f.show(); } }