java - 形状数组列表

标签 java arrays arraylist graphics2d

我的代码有一些问题。我想编写一个程序来绘制矩形、圆形以及从点创建的另一种形状。我想使用 Graphics2D,这是我的问题:如何制作所有这些形状的一个 ArrayList?有可能吗?我做了这样的事情:

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


当我这样做时,我无法使用 Rectangle2D 方法。

感谢帮助

最佳答案

你肯定可以这样做:

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)shapesArray.get(0)).setFrameFromDiagonal(point_a, point_b)
}

关于java - 形状数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754985/

相关文章:

java - 如何从监听器禁用 Jcombobox 项目?

java - Android 上的随机黑白网格

java - 您应该在 Java 中创建无限数量的线程吗?

创建复制 3d 数组内容的函数

c++ - c/c++ 函数模板中数组的正确格式

java - 在 Java 中使用 retainAll 获取多个列表的交集

Java - 正在读取的文件返回 null

c - p = (int(*)[3])malloc(3*sizeof(*p)); 是什么意思?

javascript - 如何将数字值转换为数组中具有单独值的数组,其中列表中索引的最大值为 1

java - 使用ArrayList获取二维数组数据