2012-07-12 3 views
1

나는 paint()/init() 및 애플릿 메서드가없는 swing을 사용하여 JPanel에 이미지를 추가하려고했습니다. JPanel에는 눈에 띄기를 원하는 다른 구성 요소가 있습니다.JPanel에 이미지 추가

요약하면 JPanel에 배경 이미지를 추가하고 싶습니다.

답변

2

link과 같이 JPanel을 확장 할 수 있습니다.

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

덕분에 톰 그냥 그랬어 위에서 언급 한 링크에서 인용

관련 문제