我正在尝试用Java制作扫雷游戏。我有一个2D的JButtons数组来构成网格,还有一个单独的2D int数组,其中填充了周围8个图块中的地雷数量。我不知道如何分辨按下了哪个按钮,以便游戏可以显示2D int数组中的相应数字。
我已经在ActionListener中弄乱了this
关键字,但是我对Java知之甚少。
public int[][] gridNumbers = new int[9][9];
for(int i = 0; i < 9; i++){
for(int x = 0; x < 9; x++){
gridNumbers[i][x] = determineNumber(i, x); //The code that gives a number depending on the amount of mines
}
}
public JButton[][] buttons = new JButton[9][9];
for(int i = 0; i < 9; i++){
for(int x = 0; x < 9; x++){
buttons[i][x] = new JButton("");
buttons[i][x].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//I want to change the color of the button and show the number here
}
});
}
}
我希望能够单击按钮[2] [3],然后获取数字[2] [3]进行输出。