JWindow의 배경을 완전히 투명하게 설정했습니다. 그런 다음 둥근 사각형 (RGB : 0,0,0,100)을 paint-Method에 그렸고 JLabel을 JWindows ContentPane에 추가했습니다. 그러나 JLindow를 다시 그리기 위해 JLindow를 다시 칠하려고하면 이전 Rectangle과 JLabel의 이전 값이 제거되지 않습니다. 따라서 결과적으로 내 커스텀 툴팁 상자 (투명도가 떨어짐)가 덜 투명 해지고 JLabels 내용을 읽을 수 없게됩니다. 이는 오래된 컨텍스트를 오버레이하기 때문입니다.JLabel over transparent painted 사각형?
이 문제를 해결할 수있는 방법이 있습니까?
BTW, 다시 그리지 않으면 덜 투명 해지지 않지만 다시 그리면 JLabel의 새로운 내용이 이전 내용을 덮어 씁니다.
예, 반투명 창을 만들고 싶지만 Mac OS 10.6.6에서는 작동하지 않습니다. – esanits
JWindow에는'paintComponent (Graphics g)'가 없지만'paintComponents (Graphics g)'가 있습니다. 하지만 내가 그것을 덮어 씌우면 아무 것도 칠하지 않니? – esanits
콘텐츠 패널이'JPanel' 인 것 같아서, 당신 자신의 커스텀'JPanel'에 내용 페인트를 설정하고'paintComponent()'를 오버라이드 할 수 있습니다. 'Mac OS에서 반투명 창을 만들려면 어떻게해야합니까?'라는 질문 분명히 IMO에 물어볼 가치가있다. –