【发布时间】:2019-10-07 20:54:15
【问题描述】:
我有一些数组列表,其中包含基于类中的构造函数的对象(用于类似绘画的程序),并希望将它们全部放在同一个数组列表中,以便每个项目按顺序重绘。
我尝试将数组转换为二维数组(未成功),还尝试将标识符附加到每个对象并将我从基本数组返回的内容打印到控制台package1.package2.ShapeClas@<string of letters and numbers>未成功获得回报我可以做任何事情与。
我希望合并的数组与下面类似
public static ArrayList<ShapeClass> emptyRectangle = new ArrayList<ShapeClass>();
public static ArrayList<ShapeClass> filledRectangles = new ArrayList<ShapeClass>();
public static ArrayList<ShapeClass> lineArray = new ArrayList<ShapeClass>();
每个数组都由沿线创建的对象填充(如果这还不够,还有一些其他的帮助可以共享),形状的比例随着重新缩放时窗口的大小而变化
for (ShapeClass cr : emptyRectangle) {
g.setColor(cr.getForeground());
Rectangle2D r = cr.getRectangle();
Graphics2D g2 = (Graphics2D) g;
g2.draw(new Rectangle2D.Double(r.getX() * JPanel1.getWidth(), r.getY()
* JPanel1.getHeight(),r.getWidth() * JPanel1.getWidth(),
r.getHeight() * JPanel1.getHeight()));
}
我希望能够将数组合并为一个,这样我就可以按顺序重新绘制每个元素,因为现在它们是按形状类型绘制的,因此一种形状类型总是与另一种重叠。我如何将它们放入一个奇异数组并成功识别要绘制的形状?
【问题讨论】:
-
你在寻找类似`List.addAll'的东西吗?
标签: java swing object arraylist awt