Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我是否可以将椭圆2D矩形2D以外的其他形状添加到“中”;形状“;在爪哇?_Java_Arraylist_Geometry_Shape_Graphics2d - Fatal编程技术网

Java 我是否可以将椭圆2D矩形2D以外的其他形状添加到“中”;形状“;在爪哇?

Java 我是否可以将椭圆2D矩形2D以外的其他形状添加到“中”;形状“;在爪哇?,java,arraylist,geometry,shape,graphics2d,Java,Arraylist,Geometry,Shape,Graphics2d,我有一个保存所有形状的Arraylist ArrayList<Shape> shapes = new ArrayList<Shape>(); 所以要画我的三角形,我要这个 公共类三角形实现形状{ 然后我在这里传递参数来绘制三角形?查看一些有趣的想法 它演示了如何使用多边形类创建三角形: Polygon triangle = new Polygon(); triangle.addPoint(0, 0); triangle.addPoint(15, 30); triangl

我有一个保存所有形状的Arraylist

ArrayList<Shape> shapes = new ArrayList<Shape>();
所以要画我的三角形,我要这个

公共类三角形实现形状{

然后我在这里传递参数来绘制三角形?

查看一些有趣的想法

它演示了如何使用多边形类创建三角形:

Polygon triangle = new Polygon();
triangle.addPoint(0, 0);
triangle.addPoint(15, 30);
triangle.addPoint(30, 0);
shapes.add( triangle );

它还展示了如何使用链接中提供的实用程序类制作更复杂的形状,如星星和六边形。

Shape
是一个接口。因此,您可以将实现此接口的每个类添加到
ArrayList
。从文档中,您可以添加java API中的所有类:

Arc2D,Arc2D.Double,Arc2D.Float,Area,BasicTextUI.BasicCaret, CubicCurve2D,CubicCurve2D.Double,CubicCurve2D.Float,默认插入符号, Ellipse2D,Ellipse2D.Double,Ellipse2D.Float,GeneralPath,Line2D, Line2D.Double,Line2D.Float,Path2D,Path2D.Double,Path2D.Float, 多边形,四边形2d,四边形2d.Double,四边形2d.Float, 矩形,矩形2D,矩形2D.Double,矩形2D.Float, 矩形形状,圆形矩形2D,圆形矩形2D。双, 圆形矩形2D。浮动


如果您创建一个类来实现接口
形状
,您还可以将对象添加到
数组列表中

谢谢。但是我可以将其存储到我的数组列表中吗?您能帮我吗?我可以添加三角形吗?@Lana,我不明白这个问题。您尝试添加trian了吗gle到您的形状数组列表?我想知道如何将三角形添加到“形状”界面。“形状”通常用于椭圆E2D、矩形2D等,其中没有三角形。因此,我如何绘制三角形并将其添加到“形状”界面。您没有回答我的问题。您是否尝试将“三角形”添加到“形状”中ArrayList?Polygon实现了形状界面(你读过API吗?)。你只需将三角形添加到ArrayList中。我更新了代码。你能看到上面编辑的帖子吗?这是我绘制三角形并将其保存为形状的方法吗?
Polygon triangle = new Polygon();
triangle.addPoint(0, 0);
triangle.addPoint(15, 30);
triangle.addPoint(30, 0);
shapes.add( triangle );