在前景上绘制图像

时间:2013-10-24 20:58:16

标签: java swing graphics2d drawimage

我尝试使用graphic2D.drawImage()方法绘制.PNG图像。 我做对了,但我JPanel上有一个Frame,当我绘制图像时,它出现在背景中。我希望它出现在前景中,显然在我的JPanel前面。

2 个答案:

答案 0 :(得分:0)

使用JLayer。 (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html

覆盖设置为JLayer的LayerUI上的paint方法,并在那里绘制.PNG图像。将您的JPanel添加到JLayer。

答案 1 :(得分:-1)

您应该再添加一个JPanel并在其paintComponent方法中绘制图像。

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

并且您可以隐藏其他JPanel并使用JPanel功能显示此setVisible()