좋아요, 그렇기 때문에 JFrame에 64 JButton의 배열을 추가하고 8x8 격자 레이아웃 (체스 보드 유형의 것)을 추가하려고합니다.Java for 루프가 제대로 완료되지 않았습니다.
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에서 초보자가되어서 정말 간단하고 어리석은 것이라고 확신합니다. 그러나 현재 어떤 문제가 있는지 전혀 알지 못합니다. 누구든지 도와 줄 수 있습니까?
더 많은 코드 용으로 편집 됨.
그냥 화면에서 버튼을 추가하는 것이 아니라 볼 수 있습니까? 더 많은 코드가 없으면 아마 당신을 도울 수 없을 것입니다. 'window'는 어떻게 정의되어 있습니까? – edthethird
'버튼'이란 무엇입니까? (List, ArrayList 등) –
프로그램이 예외없이 종료 되었습니까? – monksy