2012-05-09 8 views
0

を移動しながら、私はこのコードを使用していない:会は、作品は、私は別の場所にあるボタンの動きをしようとしています

public void actionPerformed(ActionEvent e) 
{ 
    for(int i = 0; i<=29; i++) 
    { 
     if(e.getSource() == gB[i]) 
     { 
      System.out.println(i); 
     } 
    } 
} 

を、これはボードに私が間違っていると思う

public void drawBoard() 
{ 
    JPanel gboard = new JPanel(); 

    for(int i = 0; i < 30; i++) 
    { 
     gboard.add(gB[i]); 
     gB[i].setText(Integer.toString(gB[i].getPieceValue())); 

    } 

を描くです。誰もが考えている?私は選手を次の位置に移動させることができません。

おかげ

エラーは、次のとおりです。(すべてのREDで

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
at Controller.actionPerformed(Controller.java:22) 
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) 
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
+1

gBとはどこにも定義されていません。 –

+2

あなたのメソッド 'actionPerformed'はSystem.outへの書き込み以外は何もしません。それは意図的なのでしょうか? –

+0

より良いヘルプを早く得るには、[sscce](http://www.sscce.org) – user1329572

答えて

2
public void actionPerformed(ActionEvent e) 
{ 
    for(int i = 0; i<=29; i++) 
    { 
     if(e.getSource() == gB[i]) 
     { 
      System.out.println(i); 
     } 
    } 
} 

は値を保持することができる唯一のいくつかの名前を持っています。 "e"という名前のActionEventと "gB"という名前の配列は、nullに設定できる唯一の名前です。

これは、ソースを定義せずにカスタムActionEventをスローしたか、配列gBを初期化していないことを意味します。

あなたの作品を動かしたい場合は、アクションハンドラで "i"の値をプリントアウトする以上に役立つでしょう。しかし、私はあなたがまだそれをあなたの努力でそれほどしなかったことを推測しています。

+0

うーん、事は私がコードを持っているが、私はエラーを取得し始めているので、私は持っている既存のコードに実装することはできませんhmm –

関連する問題