1、利用JLabel的icon来显示图片
基本思路就是把要显示的图片设置为JLabel的图标setIcon(icon),然后设置JLabel的文本和边框为null
public class ImageLabel extends JLabel { public ImageLabel(String img) { this(new ImageIcon(img)); } public ImageLabel(ImageIcon icon) { setIcon(icon); //setMargin(new Insets(0,0,0,0)); setIconTextGap(0); //setBorderPainted(false); setBorder(null); setText(null); setSize(icon.getImage().getWidth(null), icon.getImage().getHeight(null)); } }
public class ImagePanel extends JPanel { private Image img; public ImagePanel(String img) { this(new ImageIcon(img).getImage()); } public ImagePanel(Image img) { this.img = img; Dimension size = new Dimension(img.getWidth(null),img.getHeight(null)); setPreferredSize(size); setMinimumSize(size); setMaximumSize(size); setSize(size); setLayout(null); } public void paintComponent(Graphics g) { g.drawImage(img,0,0,null); } }
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer);