写贪吃蛇遇到的问题

woyaoxue_c 2016-10-31 07:18:19

public class view extends JFrame implements Runnable {

GridLayout grid;
snake model;
JPanel chessboard;
int m;
Label[][] a= new Label[m][m];

public view(int m,snake s){
this.m=m;
model=s;
pre();
}
void pre()
{
chessboard = new JPanel ();
Label[][] a= new Label[m][m];
grid = new GridLayout (m, m);

chessboard.setLayout (grid);

for ( int i = 0; i < m; i++ )

{

for ( int j = 0; j <m; j++ )
{
a[i][j]=new Label();
if(i==0||i==m-1||j==0||j==m-1){
a[i][j].setBackground (Color.red);
}
else
a[i][j].setBackground (Color.pink);
chessboard.add (a[i][j]);
}

}

add (chessboard, BorderLayout.CENTER);
setBounds (200, 200,800, 800);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setVisible (true);
}

@Override
public void run() {
// TODO Auto-generated method stub
int i=0;
while(!model.islive){
if(i%200==0){
Iterator<node> iter=model.list.iterator();
while(iter.hasNext()){
node n=iter.next();
System.out.println(a.length);
a[n.x][n.y].setBackground(Color.black);
}
}
i++;
}
}

}
想在run 方法里改变label 的颜色,main 函数设置m=10 却输出 a.length 为0?抛出Exception in thread "Thread-3" java.lang.ArrayIndexOutOfBoundsException: 2?? 为啥run 方法不能访问到 label 对象数组
...全文
274 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧