문제

I try to draw a .PNG Image using graphic2D.drawImage() method. And I make it right, but I've one JPanel on my Frame, and when I draw my image, it appears in background. I want it to appear on the foreground, and obviously in front of my JPanel.

도움이 되었습니까?

해결책

Use JLayer. (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html)

Override the paint method on the LayerUI set to the JLayer and draw your .PNG image there. Add your JPanel to the JLayer.

다른 팁

You should add one more JPanel and draw image in its paintComponent method like that.

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (yourImage != null)
            g.drawImage(yourImage, 0, 0, this);
    }

and than you can hide other JPanel and show this JPanel with setVisible() function.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top