Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 形状阵列列表_Java_Arrays_Arraylist_Graphics2d - Fatal编程技术网

Java 形状阵列列表

Java 形状阵列列表,java,arrays,arraylist,graphics2d,Java,Arrays,Arraylist,Graphics2d,我的代码有一些问题。我想写一个程序,画矩形,圆形和一个从点创建的形状。我想使用Graphics2D,我的问题是:如何制作一个包含所有这些形状的ArrayList?有可能吗?我做了这样的东西: 当我这样做时,我不能使用矩形2D方法 感谢您的帮助您一定可以这样做: List<Shape> shapesArray = new ArrayList<Shape>(); shapesArray.add(new Rectangle2D.Double()); shapesArray.ge

我的代码有一些问题。我想写一个程序,画矩形,圆形和一个从点创建的形状。我想使用Graphics2D,我的问题是:如何制作一个包含所有这些形状的ArrayList?有可能吗?我做了这样的东西:

当我这样做时,我不能使用矩形2D方法


感谢您的帮助

您一定可以这样做:

List<Shape> shapesArray = new ArrayList<Shape>();
shapesArray.add(new Rectangle2D.Double());
shapesArray.get(0).setFrameFromDiagonal(point_a, point_b)

您当然可以这样做:

List<Shape> shapesArray = new ArrayList<Shape>();
shapesArray.add(new Rectangle2D.Double());
shapesArray.get(0).setFrameFromDiagonal(point_a, point_b)

是的,你能做到。您唯一缺少的是在使用原始对象之前对其进行检查和强制转换。下面是一些代码:

if(shapesArray.get(0) instanceof Rectangle2D)
 Rectangle2D rectangle = (Rectangle2D) shapesArray.get(0);
// Use methods and do other checks

是的,你能做到。您唯一缺少的是在使用原始对象之前对其进行检查和强制转换。下面是一些代码:

if(shapesArray.get(0) instanceof Rectangle2D)
 Rectangle2D rectangle = (Rectangle2D) shapesArray.get(0);
// Use methods and do other checks

非常感谢,这就是我想做的。现在工作很完美:非常感谢,这就是我想要做的。作品完美现在:D