netbeans 如何在Java图形中画两点之间的线?

klh5stk1  于 2022-11-10  发布在  Java
关注(0)|答案(1)|浏览(188)

我有这段代码,lista是一个数组点列表,每当界面的用户拖动鼠标时,我都会把它添加到列表中。但是当我这样做时,我会得到一个错误:“事件队列-0”异常错误:索引-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);
        }
    }

我该如何解决这个问题?

5fjcxozz

5fjcxozz1#

在第一次迭代这个循环时,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);
        }
    }

相关问题