我想要的是,每当一个细胞被认为是“死亡”时,这个图像
显示在对象的背景上。
我在包p_game中有一个名为“Game”的类,代码如下
public class Game{
public Image bg_image;
public Game(){
//Here is code that creates a 17*17 table of cells with the status 'Dead'
this.Cellules= new p_cell.Cellule[17][17];
for (int i=1; i<17; i++){
for (int j=1; j<17; j++){
Cellules[i][j]=new p_cell.Cellule(i,j,"Dead");
}
}
//Here is code for the URL and Image
URL url;
try {
url = new URL("http://preview.turbosquid.com/Preview/Content_2009_07_25__02_34_32/dead%20cell%201.jpg8c11d904-1879-4bd9-b31c-439bcbb83646Larger.jpg");
bg_image = Toolkit.getDefaultToolkit().getDefaultToolkit().createImage(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
我正在尝试在我的类Cell中使用bg_image(在包p_cell中),但它说该变量不存在。我在这里缺少什么?
public class Cell{
public void paintComponent(Graphics g){
g.drawImage(bg_image, 0, 0);
}
}
给出错误:bg_image无法解析为变量
答案 0 :(得分:0)
每个变量都属于一个类或类实例。
要使用bg_image,您必须实例化Game
类,如下所示:Game game = new Game();
,然后将其与实例引用一起使用:game.bg_image
。
如果您不想拥有Game
类的实例,则应将bg_image
设为静态并使用它:Game.bg_image
。
补充阅读:
关于静态变量:http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
关于实例变量:http://docs.oracle.com/javase/tutorial/java/javaOO/variables.html