대부분의 Java 코드는 페인트 또는 paintComponent를 덮어 쓰는 것으로 알고 있습니다. 대부분 그래픽 코드의 상태를 변경 한 후에 그래픽 코드의 이전 상태를 복원하지 않습니다. 목적. 예를 들어 setStroke, setRenderingHint ...그래픽을 원래 상태로 복원해야 할 때 덮어 쓰기 할 때 paint 또는 paintComponent
메서드에서 돌아 오기 전에 그래픽 객체의 이전 상태를 복원하는 것이 좋은지 궁금합니다. 예 :
public void paintComponent(Graphics g) {
super.paintComponet(g);
Stroke oldStroke = g.getStroke();
g.setStroke(newStroke);
// Do drawing operation.
g.setStroke(oldStroke);
}
이 방법을 사용하는 것이 좋습니까? 아니면 끝났습니까?
나는이 응답을 JComponent의 JavaDoc에서 지원합니다 : http : http : //docs.oracle.com/javase/6/docs/api/javax/swing/JComponent.html#paintComponent%28java.awt.Graphics%29 –