DrJavaを使用してプログラミングしています。このコードはすべて、GUIで実行されるアクションの項目に該当します。e.getSourceチェッカーゲームのボタンが機能しません。 GUI
2つのe.getSourceボタンを除いて、ここのすべてが正しく機能しています。
2つのステートメントはif(e.getSource()== b[a-9]
)とif(e.getSource()== b[a-7]
)です。
すべてのボタンにアクションリスナーを追加しました。
ボタンをクリックすると、何も実行されていません。
私はSystem.out.printlnを使用して動作するかどうか確認しましたが、一度クリックすると画面に表示されません。
これは明らかに彼らが働いていないことを意味しますが、なぜですか?コード全体を試してみたいのであれば、尋ねてみてください。これは学年11のCPTです。
if(player==1)
{
for(int a=41; a<64; a++)
{
if (e.getSource()==b[a])
{
board();
b[a].setBackground(new Color(0,255,0));
if(!b[a].getText().equals(b[a-9].getText())&&!b[a].getText().equals(b[a-7].getText()))
{
b[a-9].setBackground(new Color(0,255,0));
b[a-7].setBackground(new Color(0,255,0));
//THIS IS NOT WORKING____________________________________
if (e.getSource()== b[a-9])
{
System.out.println("NOT WORKING");
b[a-9].setText(piece1);
b[a].setText("");
board();
player2();
player=2;
}
if (e.getSource()== b[a-7])
{
System.out.println("NOT WORKING");
b[a-7].setText(piece1);
b[a].setText("");
board();
player2();
player=2;
}
//___________________________________________________________
if(e.getSource()==b[47])
{
board();
b[47].setBackground(new Color(0,255,0));
if(!b[47].getText().equals(b[47-9].getText()))
{
b[47-9].setBackground(new Color(0,255,0));
}
}
if(e.getSource()==b[48])
{
board();
b[48].setBackground(new Color(0,255,0));
if(!b[48].getText().equals(b[48-7].getText()))
{
b[48-9].setBackground(new Color(0,255,0));
}
}
}
}
}
}
ありがとうございます。その条件が真である場合は、このチェック持っその後
:
最小限の実行可能な例を提供する必要があります。あなたのプリントが証明していることは、イベントのソースがさまざまなb []要素によって参照されるものと同じではなく、リスナを設定してb []を初期化するコードがないことです。 –
コード全体を送信できますそれが助けになるなら? – Adenloolfly