图形学和Graphics2D有什么区别?
Graphics2D是否是图形的扩展?
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawRect(25, 25, 20, 20); //use Graphics to paint rectangle
Graphics2D g2 =(Graphics2D)g;
g2.drawRect(0, 0, 20, 20); // use Graphics2D to paint rectangle
}发布于 2013-10-13 11:59:18
图形本身是一个abstract class,因此不能创建它的实例。它只定义了一些接口和一些功能,因此可以由其他类进行扩展。
因此,即使在paintComponent中用作参数的这个paintComponent也不仅仅是Graphics。标准的java库只有两个扩展类:DebugGraphics, Graphics2D,所以您使用的Graphics g是存储在Graphics g中的Graphics2D实例。
如果不是,行Graphics2D g2 =(Graphics2D)g;将以一个错误结束。
https://stackoverflow.com/questions/19344878
复制相似问题