2013-10-24 21 views
0

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

+0

你是什么意思的“前景”?我假设你正在绘制它,也就是在一个被覆盖的paintComponent方法中。在这种情况下,是的,特别是它被绘制在面板背景的顶部,但在边界和子组件的后面。 – Radiodef

+0

我认为他用JFrame的绘画方法绘制图像。 – yilmazburk

+2

如果你正在'JPanel'上绘制图像,那么它应该出现在JFrame的顶部/之前,但它会出现在面板内容的下面。如果您想要将图像绘制在一切之上,则需要考虑使用玻璃窗格图层。请参阅[如何使用根窗格](http://docs.oracle.com/javase/tutorial/uiswing/components/rootpane.html)以获取更多详细信息 – MadProgrammer

回答

-1

你应该添加一个JPanel,并在其paintComponent方法一样,绘制图像。

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

比你可以隐藏其他JPanel并出示JPanelsetVisible()功能。

+0

我希望您认识到'paintComponent'会被绘制在组件;) – MadProgrammer