현재 대학 과정의 그룹 프로젝트를 진행하고 있으며 약간의 걸림돌을 쳤습니다. 우리가 구현하기로 결정한 프로그램은 사용자 이름 등을 저장하고 공유하기위한 중앙 서버가있는 피어 투 피어 채팅 클라이언트입니다. GUI를 수행하도록 지정되었습니다.자바 스윙 - 아티팩트를 일으키는 반투명 구성 요소
친구가 농담으로 "불타는 배경!"을 포함한다고 제안했습니다. 그래서 저는 그렇게하기로 결정했지만 사용자가 선택한 배경 이미지를 갖기로했습니다. 즉, 배경 이미지의 비트와 조각 만이 모든 구성 요소 위에 표시되므로 투명성 구현을 결정했습니다.
채팅 창에 입력 상자에서 정보를 보내거나 친구 목록을 탐색 할 때, 또는 채팅 창을 스크롤이 이상한 유물이 남아있는 내 문제가 자리하고있는 곳
이입니다. 이러한 아티팩트는 때때로 보내기 단추의 반투명 한 "고스트"이거나 때로는 메뉴의 일부이거나 오래된 텍스트이기도합니다. 전체 프레임이 제대로 다시 그려지지 않는 것처럼 보입니다. 그러나 어떻게 작동하는지 잘 모르겠습니다.
JTextComponent를 구현하는 구성 요소의 경우 선택 색상을 반투명 색상으로 설정합니다. 다른 구성 요소의 경우 배경을 반투명으로 설정합니다. 구성 요소를보고 setTranslucency (Component com) 함수를 사용하여 반투명도를 설정 한 다음 일부 정렬 컨테이너인지 확인하고 각 항목의 반투명을 재귀 적으로 설정합니다.
이제이 문제를 해결 한 방법은 창을 화면 밖으로 드래그하거나 화면을 뒤로 또는 아래로 드래그하는 등의 방법으로 창 밖으로 드래그하는 것입니다.
그래서,
1) 그것은 내가 화면 떨어져 드래그하거나 최소화 않을 때처럼 업데이트하기 위해 전체 창을 강제 할 수있는 방법이 있습니까?
또는
2) 나는 처음에 잘못을하고 있습니까? 그렇다면 어떻게 수정합니까? 여기
가 참조하는 픽처이다 :
http://i.stack.imgur.com/4J9GJ.png
자, 여기서 조언을 들었고 setTranslucency (..) 함수가 setOpaque (..)를 호출하지 않고 투명하게되도록 설정하여 올바르게 다시 그릴 수 있도록 결정했습니다. 구성 요소를 손으로 설정하면 제대로 반투명하고 불투명하게 보이고 올바르게 업데이트됩니다. 불투명도를 설정하지 않고 프레임을 반투명으로 설정하는 구성 요소를 부주의하게 살펴 보았습니다. 도움 주셔서 감사합니다. –