Graphics2D g2 = (Graphics2D) g;
老实说,整个g2和g的概念很混乱。任何人都可以解释吗?谢谢。有人可以简单地解释这个Java行吗?
此外,g和g2之间的差异的解释会很好。
Graphics2D g2 = (Graphics2D) g;
老实说,整个g2和g的概念很混乱。任何人都可以解释吗?谢谢。有人可以简单地解释这个Java行吗?
此外,g和g2之间的差异的解释会很好。
推测地,g
是Graphics
实例,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 Swing和Performing Custom Painting更多详细信息
那么我总是可以使用Graphics和g来代替Graphics2D和g2吗? – 2014-11-25 05:41:01
这取决于你试图达到的目标。 'Graphics2D'增加了一些新的(和方便的)功能,如果你不使用它们,那么是的,你可以继续使用'Graphics'的一个实例... – MadProgrammer 2014-11-25 05:41:59
您在Graphics2d
中投了一个Graphics
对象g
。
这是polymorphism的一个例子。
基本上,图形2d在awt中扩展了图形类。图形本身是一个抽象类,所以它不能被创建,它只定义了一些接口和一些功能。
也许在Oracle API可以帮助您:
http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html http://docs.oracle.com/javase/7/docs/api/java/awt/Graphics2D.html
请加上其中G宣称因为没有它很难解释投是做线。 – 2014-11-25 05:29:39