-3

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

4

1 回答 1

4

形状的概念和 Graphics2D 的概念是完全正交的——您不能将 Shape 视为 Graphics2D 对象,它没有任何意义,因为形状是点的集合,而 Graphics2D 对象就像画点的刷子......他们只是不喜欢。此外,Shape 是在整个程序中持续存在的东西,而 Graphics 对象可以随 JVM 的一时兴起而交换,这完全不受您的控制。

解决方案:彻底重新考虑你在做什么,但不要吠叫这棵树,因为它只会导致痛苦。如果您需要更多帮助,正如我们之前建议的那样,请发布sscce

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

于 2013-05-15T20:58:50.820 回答