泰山OFFICE技术讲座:关于Graphics设置颜色代码的改进

  经常要对一个Graphics设置颜色,然后绘图写字。这工作常见,也有一个麻烦的地方:完成之后,你要恢复原来的颜色。于是代码就类似:

Color oldColor = g2d.getColor();

g2d.setColor(newColor)

//drawLine/fillRect/drawChar

g2d.setColor(oldColor);

  一次两次还好,次数多了就很讨厌。怎么办?能不能省事?于是吾设计了如下代码:

g2d.pushColor(newColor)

//drawLine/fillRect/drawChar

g2d.popColor();

  这样代码是不是简单了好多?为了实现这个功能,在Graphics中维护一个栈即可。

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/126539999