0

我想要的是每次一个细胞被认为是“死的”,这张图片

http://preview.turbosquid.com/Preview/Content_2009_07_25__02_34_32/dead%20cell%201.jpg8c11d904-1879-4bd9-b31c-439bcbb83646Larger.jpg

显示在对象的背景上。

我在包 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(在包 p_cell 中)中使用 bg_image,但它说该变量不存在。我在这里想念什么?

public class Cell{
    public void paintComponent(Graphics g){

        g.drawImage(bg_image, 0, 0);

    } 
}

给出的错误:bg_image 无法解析为变量

4

1 回答 1

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/变量.html

于 2012-09-10T05:56:29.280 回答