如何在Java中的Graphics中绘制两点之间的线



我有这样的代码,lista是一个点的ArrayList,每当界面用户拖动鼠标时,我都会将其添加到列表中。但当我这样做的时候,我得到了一个错误:";AWT-EventQueue-0";java.lang.IndexOutOfBoundsException:索引-1超出长度3的界限";

for(int i=0;i<lista.size();i++){
g.fillOval(lista.get(i).x,lista.get(i).y,radio*2,radio*2); 
if(lista.size()>1){
g.drawLine(lista.get(i-1).x,lista.get(i-1).y,lista.get(i-2).x,lista.get(i-2).y);
}
}

我该怎么解决这个问题?

在这个循环的第一次迭代中,i-1将是-1(i-2将是-2(这就是的问题所在

for(int i=0;i<lista.size();i++){
g.fillOval(lista.get(i).x,lista.get(i).y,radio*2,radio*2); 
if(lista.size()>1){
g.drawLine(lista.get(i-1).x,lista.get(i-1).y,lista.get(i-2).x,lista.get(i-2).y);
}
}

最新更新