간단한 질문이 있습니다. 나는 Java 2D API를 처음 사용하므로 질문 사항 :Java 2D 그래픽 - paintComponent의 항목 우선 순위
paintComponent() 내에서 그려지는 무언가의 우선 순위를 수동으로 설정하는 방법이 있습니까?
간단한 질문이 있습니다. 나는 Java 2D API를 처음 사용하므로 질문 사항 :Java 2D 그래픽 - paintComponent의 항목 우선 순위
paintComponent() 내에서 그려지는 무언가의 우선 순위를 수동으로 설정하는 방법이 있습니까?
가장 먼저 꺼내는 것은 가장 먼 것입니다. 먼저 뭔가를 그릴 자바 말하면 그래서
public void paintComponent(Graphics g) {
g.drawRect(10, 10, 80, 30); // Drawn in back
g.drawRect(20, 20, 70, 40); // Drawn in middle
g.drawRect(10, 10, 10, 10); // Drawn in front
...
}
가 먼저 그려을 받고 그 위에 그릴 아무것도 당신이 그린 우선을 통해 그려집니다.
우선 순위를 지정할 수는 없지만 각 객체가 그려지는 순서 (순서 코드)를 지정할 수 있습니다. Here이 그 예입니다.
public void paint(Graphics screen) {
sortByDepth(screen);
backFaceCulling(screen);
applyProjection(screen);
drawCube(screen);
}
다음 책은 많은 도움을 줄 수 있습니다 : Introduction to Computer Graphics Using Java 2D and 3D.
도 참조 : 또한, 당신은 당신이 뭔가를 그리려는 경우 Visible Surface Determination를 볼 수 있습니다
내가 제거하는 함수를 호출 할 페인트 구성 요소 화면의 모든 항목이 다시 추가됩니다. 그러나 clearRect() 함수를 사용하면 화면이 지워지지만 그 위에 페인트 칠을하지는 않습니다. – user3633639
drawRect()를 호출하기 전에 clearRect()를 호출하는 것이 맞습니까? – aProperFox
예, 맞습니다. – user3633639