我意识到大多数Java代码重写paint或paintComponent,他们中的大多数在改变了图形对象的状态后并没有恢复旧状态。例如,setStroke、setRenderingHint...
我想知道,在方法返回之前,我们是否应该恢复图形对象的旧状态,这样做是否是一个好习惯。例如:
public void paintComponent(Graphics g) {
super.paintComponet(g);
Stroke oldStroke = g.getStroke();
g.setStroke(newStroke);
// Do drawing operation.
g.setStroke(oldStroke);
}
这是一种好的实践方法吗?还是有些过度了?