package org.fanhongtao.swing.panel; import java.awt.Graphics; import java.awt.Image; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; /** * 一个专门显示图片的Panel * @author Dharma * @created 2009-5-17 */ public class ImagePanel extends JPanel { private static final long serialVersionUID = 1L; public ImagePanel(File file) { try { image = ImageIO.read(file); init(); } catch (IOException e) { e.printStackTrace(); } } public ImagePanel(byte[] imageContent) { try { image = ImageIO.read(new ByteArrayInputStream(imageContent)); init(); } catch (IOException e) { e.printStackTrace(); } } private void init() { if (image == null) { return; } int imageWidth = image.getWidth(this); int imageHeight = image.getHeight(this); this.setSize(imageWidth, imageHeight); } public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image, 0, 0, null); } /** 所要显示的图片 */ private Image image; }