2012-07-24 2 views
1

JPanel과 Canvas는 모두 같은 레벨의 구성 요소이므로 솔루션은 일종의 '해킹'일 수 있습니다. This 질문에 가벼운 구성 요소를 중량 캔버스에 추가 할 수 없다는 메시지가 나타납니다 (JPanel을 투명하게 만들기를 원합니다).Canvas에 JPanel 추가

이것이 가능하지 않으면 투명한 구성 요소가 작동합니까? 또한 Swing 구성 요소를 Component에 추가하는 것이 가능합니다 (문제가 있더라도 작동해야 함). 그리고 캔버스에 실제로 두는 방법은 무엇입니까? (둘 다 같은 수준의 구성 요소이기 때문에)

주 : 캔버스는 다음의 색상을 설정에 무엇이든 컨테이너 내가 진짜 응용 프로그램에서 이런 일을하지 않을 것, 난 그냥이 경우 필요

+0

에 그것을를 JPanel의 캔버스의 부모를 추가하고 배치 할 수 있어야한다? – akf

+0

@afk 예, 있습니다. – LanguagesNamedAfterCofee

+1

*** ** 캔버스 사용에 묶여있는 이유는 무엇입니까? * 실제로 여기서 얻으려고하는 것은 무엇입니까? –

답변

0

하나 possiblity가가에 JPanel을 추가하는 것입니다 JPanel의 알파가 0이됩니다. 이것은 Canvas를 블로킹하지 않고 이전의 것 위에 추가해야합니다. 이게 니가 원하는거야?

편집 : 그것에 대해 생각의 인 JPanel의 기본 색상은 투명 ... 당신은 당신이`Canvas`를 사용하여 연결되어 그것을

+0

캔버스가 JFrame에 있습니다. JPanel을 추가했지만 Canvas 아래에 나타납니다. – LanguagesNamedAfterCofee

+0

아, 죄송합니다. 이것에 대해 생각해 보지 않았습니다. 캔버스는 중량이 많은 구성 요소이므로 맨 위에 머물러있게됩니다. 여기를 참고하십시오 : http://java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html 이렇게하는 방법이 있다고 생각하지 마십시오. –

+0

패널을 사용하고 그에게 JPanel? – LanguagesNamedAfterCofee