문제

나는 Java의 Setclip에 약간의 문제가 있습니다. JPANEL을 연장하는 수업이 있습니다. 그 클래스 내에서 나는 PaintComponent 메소드를 무시했습니다. 내 PaintComponent 메소드는 다음과 같습니다.

paintComponent {
    //draw some lines here
    Rectangle whole = g2.getClipBounds();//g2 is my Graphics2D object
    Rectangle part = <some rectangle that is a part of the whole paintable area>;
    g2.setClip(part);
    //draw some more stuff here
    g2.setClip(whole);
}

내가보고있는 문제는 잘린 영역의 영역이 반복적으로 페인트 된 것 같습니다. 예를 들어, 내가 페인트 칠하라고 말하면 괜찮습니다. 그러나 창문을 전환하거나 다른 방식으로 다른 방식으로 같은 것을 페인트 칠하게되면 나머지는 클리핑 된 영역이 지워지지 않습니다. 이로 인해 잘린 영역의 그림은 페인트가 가능한 나머지 부분보다 더 대담하게 나타납니다.

SetClip의 작동 방식에서 무언가를 놓치고 있다고 생각합니다.

모든 제안은 대단히 감사 할 것입니다. 도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

Tom의 조언을받은 것처럼 오래된 그래픽 객체를 만드는 것은 나에게 트릭을 만들었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top