2014-11-25 71 views
0
Graphics2D g2 = (Graphics2D) g; 

老实说,整个g2和g的概念很混乱。任何人都可以解释吗?谢谢。有人可以简单地解释这个Java行吗?

此外,g和g2之间的差异的解释会很好。

+0

请加上其中G宣称因为没有它很难解释投是做线。 – 2014-11-25 05:29:39

回答

4

推测地,gGraphics实例,Graphics2D g2 = (Graphics2D) g;是将g转换为Graphics2D的实例。

这是在行动Polymorphism一个例子...

围绕Java 1.3/1.4新Graphics2D API引入了Java API,但是因为大多数的涂料方法所需Graphics,他们没有更新(为了向后兼容)。开发商然而,基本上保证了任何系统产生Graphics传递给这些涂料的方法将得到Graphics2D背景

基本上的一个实例,Graphics2D是一个扩展Graphics API

看一看Painting in AWT and SwingPerforming Custom Painting更多详细信息

+0

那么我总是可以使用Graphics和g来代替Graphics2D和g2吗? – 2014-11-25 05:41:01

+0

这取决于你试图达到的目标。 'Graphics2D'增加了一些新的(和方便的)功能,如果你不使用它们,那么是的,你可以继续使用'Graphics'的一个实例... – MadProgrammer 2014-11-25 05:41:59

相关问题