【发布时间】:2022-02-25 01:41:23
【问题描述】:
我有这段代码,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);
}
}
我该如何解决这个问题?
【问题讨论】:
-
为什么要使用“-1”和“-2”来改变索引值?这似乎意味着您想绘制从数组末尾到开头的点,在这种情况下,您的起始索引将是数组的末尾,并且每次迭代都会递减“i”。只需从头开始绘制,在这种情况下,您应该使用 "i" 和 "i + 1" 请参阅:stackoverflow.com/questions/65327201/… 以获得完整的工作示例。
标签: java netbeans graphics interface