JScrollPane
을 열 머리글과 행 머리글과 함께 사용하려고합니다.JScrollPane는 행 헤더에 그래픽 오류를 표시합니다. 이것을 피하는 방법?
행 헤더에는 텍스트가 있습니다. 창을 아래로 스크롤하면 일부 그래픽 아티팩트가 행 머리글에 표시됩니다. 그것은 픽셀의 최종선이 반복적으로 반복되는 것과 같습니다.
주 창을 최대화하고 복원하면 문제가 해결되지만 꼭 그래야하는 것은 아닙니다.
이 문제를 방지 할 수있는 방법이 있습니까?
JScrollPane
을 열 머리글과 행 머리글과 함께 사용하려고합니다.JScrollPane는 행 헤더에 그래픽 오류를 표시합니다. 이것을 피하는 방법?
행 헤더에는 텍스트가 있습니다. 창을 아래로 스크롤하면 일부 그래픽 아티팩트가 행 머리글에 표시됩니다. 그것은 픽셀의 최종선이 반복적으로 반복되는 것과 같습니다.
주 창을 최대화하고 복원하면 문제가 해결되지만 꼭 그래야하는 것은 아닙니다.
이 문제를 방지 할 수있는 방법이 있습니까?
이 같은 결함은 대개 사용자 지정 paint()
메서드로 인해 발생하거나 변경 한 후에 다시 그리지 않음을 알 수 있습니다.
먼저 사용자 지정 페인트 메서드에서 첫 번째 줄로 호출합니다.
super.paint(); or super.paintComponent(g);
나는 또한이 두 줄이 모든 것을 최신 상태로 유지한다는 것을 알게됩니다. 시간이 오래 걸릴 수도 있지만 많은 문제를 해결했습니다. 일반적으로보기를 수정하는 코드의 끝에 넣습니다.
this.validate();
this.repaint();
랜덤 메소드 호출로 증상에 대한 의사 결정을하지 않는 것이 좋습니다. 대신 오류를 찾아 수정하십시오. – kleopatra
문제는 행 헤더의 맞춤형 페인팅 코드 때문입니다. 문제를 나타내는 [SSCCE] (http://sscce.org)를 게시하십시오. – camickr
추측 : 행 머리글에서 사용자 정의 페인팅을 수행하는 경우 paint 메소드에서 super 메소드를 호출합니까? 즉, 페인트를 오버라이드하면'super.paint (g)'를 호출 할까? 마찬가지로 paintComponent/super.paintComponent도 마찬가지입니다. Camickr에 동의합니다. 도움이되지 않으면 SSCCE를 보여주십시오. –
감사. 당신 말이 맞아요. 커스텀 페인트 코드에 뭔가가있었습니다. 구성 요소의 기본 크기를 설정하는 줄을 추가하여 수정했습니다. – javier