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。クラスの
インスタンスが必要ない場合は、静的にして次のように使用する必要があります。 追加資料:静的変数について:http ://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html インスタンス変数について:http://docs.oracle.com/javase/tutorial/java/javaOO/ variables.htmlGamebg_imageGame.bg_image


于 2012-09-10T05:56:29.280 に答える