我的代码有一些问题。我想编写一个程序来绘制矩形、圆形以及从点创建的另一种形状。我想使用 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/