2012-12-06 1 views
1

사용자가 마우스로 이미지 위에 마커를 붙이고 선을 그릴 수있는 애플릿을 개발 중입니다.Java 선이 그려진 일부 점이 사라졌습니다.

줄과 마커를 놓는 공간은 JPanel입니다. 마커를 JComponents로 만들었고 라인은 단순한 Line2D입니다.

마커는 색상이 채워진 원이있는 투명 사각형입니다.

이미지를 확대/축소하기 위해 JPanel에 일부 마우스를 추가했습니다. 마커에도 mouslisteners가 있으며, 경로에는 JPanel에 새로운 mouslisteners를 추가합니다. 선을 그려야 할 때 마커의 청취자를 제거합니다.

마킹을 만들 때 문제가 없습니다. 선은 마커 또는 다른 선에서만 시작할 수 있습니다. 선을 그릴 때 마커를 클릭하고 마우스를 드래그합니다. 나는 마커의 투명한 부분에 선을 볼 수 있습니다. 그리고 다른 선을 가까이지나 가면이 선에서도 볼 수 있습니다. 그러나 두 표식 사이의 공간에는 아무것도 없습니다.

문제가 무엇인지 알 수 없지만 JPanel의 paintContent 메서드 paintComponent를 덮어 쓰고 Graphics2D를 사용합니다.

무언가가 필요하면 자유롭게 물어보십시오.

답변

1

좋아, 나는 캐주얼 테스트 덕분에 해결책을 발견했다. 인 JPanel의 의 paintComponent에서

는, 선을 그린 후, 나는이 두 명령을 잃어버린 :

this.revalidate(); 
this.repaint(); 

이제 모든 것이 잘 작동합니다.

+0

+1 자신의 질문에 답하기 (다른 사람들에게 해결책 제시). –

관련 문제