将图像添加到JPanel

问题描述:

我想使用不带paint()/ init()等applet方法的swing将图像添加到我的JPanel。 JPanel是我想保持可见的一些其他组件。将图像添加到JPanel

总之我想添加背景图像到我的JPanel。

您可以延伸JPanel,如link所示。

从上述链接

public class ImageTest { 

    public static void main(String[] args) { 
    ImagePanel panel = new ImagePanel(new ImageIcon("images/background.png").getImage()); 

    JFrame frame = new JFrame(); 
    frame.getContentPane().add(panel); 
    frame.pack(); 
    frame.setVisible(true); 
    } 
} 

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); 
    } 

} 
+0

感谢汤姆只是做了该报价 – 2012-07-12 17:51:17