用java把一个形状变成多边形可能吗



我正在尝试将一个形状制作成多边形。我的代码如下所示:

类MyGraphicMethods扩展Graphics
{
。。。
。。。
公共空心填充形状(形状S)
{
g.fillPolygon((多边形)S);
}

当我运行时

public static void main(String[]args){
形状S=新矩形(新尺寸(10100))
多边形P=(多边形)S
}

我得到一个ClassCastException。有人能帮我吗?

使用

extends Graphics2D
Graphics2D g = (Graphics2D) graphics;
g.fill(shape); // Or possibly fill(shape);

在java的历史中,Graphics2D曾经扩展过Graphics,为了向后兼容,Graphics保留在API中。然而,人们总是可以将Graphics转换为Graphics2D。

因此,扩展Graphics和Graphics2D都不是一个好主意。事实上,这是我第一次看到这个。

您不能不显式地转换回您的形状,但您可以使用路径迭代器从形状重新创建它

Poligon p = ....
Shape s = p;
PathIterator iter = s.pathIterator();

我不想解释整个路径迭代器的东西,它已经在使用PathIterator返回约束Area的所有线段?

相关内容

  • 没有找到相关文章

最新更新