わかりましたので、64 個の JButton の配列を 8 x 8 のグリッド レイアウト (チェス盤のようなもの) で JFrame に追加しようとしています。関連するコードセクションは次のとおりです。
public class othello implements ActionListener{
int [][] board = new int[8][8];
JFrame window = new JFrame();
JButton[] buttons = new JButton[64];
public othello(){
window.setSize(400,400);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new GridLayout(8,8));
window.setVisible(true);
for (int i=0;i<64;i++){
buttons[i] = new JButton("");
buttons[i].addActionListener(this);
window.add(buttons[i]);
}
for (int i=0;i<8;i++){
for (int j=0;j<8;j++){
board[i][j]=2;
}
}
board[3][3]=0;board[4][4]=0;
board[3][4]=1;board[4][3]=1;
}
public void actionPerformed(ActionEvent e){
for (int i=0;i<8;i++){
for (int j=0;j<8;j++){
if(e.getSource()==buttons[i]){
buttons[i].setEnabled(false);
board[i][j]=1;
check();
}
}
}
}
public static void main (String[] args){
new othello();
}
}
このコードの結果は、一見乱数のボタンが実際に追加されているように見えます。場合によっては 64 個すべてを追加することもあれば、通常は半分程度追加することもあります。常に適切に開始されますが、任意の時点で停止します (ボタン ラベルをカウントアップしてテストしました)。
ループ自体が実際に完了しているかどうかを確認するためにいくつかの println を追加しましたが、問題はありません。ループを 64 回すべて回っています。ある時点でボタンの追加が停止するだけです。
私はJavaの初心者なので、本当に単純でばかげていると確信していますが、現在、何が問題なのかわかりません。誰でも助けることができますか?
より多くのコード用に編集されました。