2013-11-28 3 views
0

저는 현재 프로젝트를 진행하고 있습니다. 기본적으로, 지금 저는 두 개의 버튼, 버튼을 클릭 할 때 변경되는 두 개의 텍스트 레이블, 그리고 배경이 있습니다. 배경과 관련된 문제는 그것이 있어야하는 곳이 아니라는 것입니다. 버튼/라벨이 맨 위에 있고 배경이 모든 것 아래에 밀려 있습니다. 버튼/라벨을 제거하면 배경이 전체 프로그램을 채 웁니다. 다음은 코드의 일부입니다.자바에 대한 배경 지식이 푸시되었습니다.

ImageIcon backg = new ImageIcon(getClass().getResource("grastri.png")); 
background = new JLabel(backg); 
add(background); 
background.setAlignmentX(CENTER_ALIGNMENT); 
background.setAlignmentY(CENTER_ALIGNMENT); 

누구든지 도움을 줄 수 있다면 좋을 것입니다.

+0

창을 그릴 때 다시 그리기를 호출해야 할 수도 있습니다. – Zimm3r

+0

정상적인 레이아웃 동작처럼 들립니다. 레이아웃을 사용하고 있습니까? 일반적으로 JLabel은 그 위에 물건을 가질 수 없습니다. http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html – Radiodef

답변

2

배경이 GUI에 추가되는 JLabel에 있습니다. 배경이 모두 뒤쪽에있게하려면 JPanel을 기본 컨테이너로 만들고 JPanel의 paintComponent(Graphics g) 메서드로 이미지를 그립니다. 또는 이미지를 보유하고있는 JLabel을 기본 컨테이너로 만듭니다 (그러나 레이아웃을 지정하고 불투명하게 만듭니다) .

관련 문제