如何将形状视为graphics2D

时间:2013-05-15 20:57:13

标签: java graphics2d shapes

我正在做一个java项目,我有一组形状,我需要为每个形状赋予不同的颜色。 例如,在集合中我有正方形和矩形,然后我需要绘制红色的正方形和蓝色的矩形。我想将一个形状设置为graphics2D,但我不能。

1 个答案:

答案 0 :(得分:4)

形状的概念和Graphics2D的概念是完全正交的 - 您不能将Shape视为Graphics2D对象,它没有任何意义,因为形状是点的集合和Graphics2D对象就像一把画笔描绘点......他们只是不相称。此外,Shape是整个程序中持久存在的东西,而Graphics对象可以随心所欲地交换,这完全超出了您的控制范围。

解决方案:完全重新思考你正在做的事情,但不要咆哮这棵树,因为它只会导致痛苦。如果您需要更多帮助,我们之前已经建议,请发布sscce

此外,如果要将Shape与颜色连接,请考虑创建一个包装类,它将Shape对象和Color对象保持在一起。另一种选择是使用Map<Shape, Color>