2011-01-12 11 views
3

방금 ​​스윙을 배우기 시작했고 이에 대한 명확한 지침을 찾을 수 없었습니다. JLabel (배경 이미지가 포함되어 있음)과 그 위에 렌더링 된 두 개 (또는 그 이상)의 JButton을 갖고 싶습니다. 레이아웃 관리자 OverlayLayout을 사용하면 단추가 서로 위에 렌더링됩니다.스윙 구성 요소를 선택적으로 오버레이합니까?

라벨 상단에 버튼을 올바르게 렌더링하는 가장 좋은 방법은 무엇입니까?

답변

2
  1. 가 JPanel의 크기를 설정 자신의 레이아웃 매니저 (예를 들어 GridLayout과)의 포함하는 JPanel을 만들기
  2. 은 추가 패널이 패널
  3. 에 JButton의 추가 (가정 OverlayLayout에하지 크기 지능적 않습니다) JLabel w/bgimage
+0

두 개의 별도 JPanel을 만들고 OverLayout이이를 처리하도록 하시겠습니까? – tsiki

+0

@tsiki No. 적절한 LayoutManager를 사용하여 하나의 jpanel을 만들고 단추를 추가 한 다음 해당 패널을 배경 이미지가있는 레이블에 추가하십시오. – KitsuneYMG

+0

그렇지 않으면 잘 보이지만 버튼 (JPanel)의 배경이 여전히 보입니다. – tsiki

0

간단한 해결책은 JLayeredPane에 추가하는 것입니다. 이렇게하면 각 구성 요소가 추가되는 계층을 제어 할 수 있습니다.

+0

괜찮아 보이지만 단추도 이미지이므로 JLayeredPane이 이미지를 전혀 처리하지 않습니다. 정상적인 버튼을 보여 주지만 아이콘이있는 것은 아닙니다. – tsiki

+0

동일해야합니다. 코드를 게시 할 수 있습니까? 계속 진행되고 있습니다. – user489041

0

정확한 요구 사항에 따라 다릅니다. 몇 가지 제안 사항은 Background Panel을 참조하십시오.

관련 문제