如何循环打印形状?

How do I print a shape in a loop?

我正在尝试循环打印形状,但是当我 运行 程序没有任何显示。我正在使用我之前制作的自定义 class 中的形状。我使用鼠标点击来获取鼠标的每一端(在不同的部分),这很有效。

@Override 
public void paintComponent(Graphics g){
    super.paintComponent(g);
    for (int i = 0; i<howMany;i++){
        if (shapes[i] instanceof Line){ 
            Line l = (Line) shapes[i];
            g.drawLine((int)l.start.getX(),(int) l.start.getY(),(int) l.end.getX(),(int) l.end.getY());
            repaint();
        }
    }
}

删除重绘请求并仔细检查 shapes 是否为空并且 shapes[i] 实际上是 Line

public void paintComponent(Graphics g){
    super.paintComponent(g);
    for (int i = 0; i<howMany;i++){
        if (shapes[i] instanceof Line){ 
            Line l = (Line) shapes[i];
            g.drawLine((int)l.start.getX(),(int) l.start.getY(),(int) l.end.getX(),(int) l.end.getY());
           // repaint(); remove that 
        }
    }
}