graphic2D.drawImage()
메서드를 사용하여 .PNG 이미지를 그려 봅니다. 그리고 제대로 만들었지 만 JPanel
이 내 Frame
에 있고 이미지를 그릴 때 배경에 표시됩니다. 나는 그것이 전경에 나타나기를 바란다. 분명히 내 JPanel
앞에있다.전경에 이미지 그리기
0
A
답변
0
JLayer를 사용하십시오. (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html)
LayerUI 세트의 페인트 방법을 JLayer로 대체하고 .PNG 이미지를 그립니다. JPanel을 JLayer에 추가하십시오.
-1
JPanel
을 하나 더 추가하고 그 이미지를 paintComponent
방법으로 그려야합니다.
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (yourImage != null)
g.drawImage(yourImage, 0, 0, this);
}
및 다른 JPanel
을 숨기고 setVisible()
기능이 JPanel
을 보여줄 수있는 것보다
+0
'paintComponent'가 구성 요소; – MadProgrammer
"전경"이란 무엇을 의미합니까? 난 당신이 그것을 정확하게 그려, 즉, overriden paintComponent 메서드 내부에 있다고 가정합니다. 이 경우 네, 구체적으로는 패널의 배경 위에 그려 지지만 테두리 및 하위 구성 요소 뒤에 그려집니다. – Radiodef
그는 JFrame의 페인트 방법으로 이미지를 그렸다고 생각합니다. – yilmazburk
'JPanel'에 이미지를 그리는 경우'JFrame'의 맨 위에 표시해야하지만 패널의 내용 아래에 나타납니다. 모든 이미지 위에 이미지를 그리려면 유리 창 레이어를 대신 사용해야합니다. 자세한 내용은 [루트 패널 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/components/rootpane.html)을 참조하십시오. – MadProgrammer