我想创建一个扫雷游戏。首先,这将在按钮上起作用。我想我将在二维数组上工作,并且会像布尔数组那样在哪里出现炸弹,例如,如果booleanArray [0] [4]为真,则有一个炸弹。
现在,如何在按钮中实现呢?我可以在这些按钮上设置名称,然后单击某些按钮,然后从该div中获取名称。例如,当我单击第一个按钮时,我将得到“ 00”名称,然后我将得到第一个字母“ 0”和第二个字母“ 0”并将其解析为int。这就是我以前的booleanArray的索引,在这种情况下,它将是booleanArray [0] [0]。
那么,我可以用另一种更好的方法代替它吗?
这是我将创建按钮的方式:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
JButton button = new JButton("");
button.setPreferredSize(new Dimension(50, 50));
button.setName(Integer.toString(i) + Integer.toString(j));
}
}
编辑
我将有一个二维数组,它将反映我的按钮:
现在,如何例如单击第一个按钮后检查炸弹是否击中?
最佳答案
只需按住二维按钮阵列,
JButton[][] myButtons = new JButton[10][10];
用它们来绘制它们,它们都用它们的值调用相同的方法
for (int x=0; x<10; x++){
for (int y=0; y<10; y++){
myButtons[x][y] = new JButton("0");
//add to page, or do it elsewhere
myButtons[x][y].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed(x,y);
}
});
}
}
然后调用yout方法
selectionButtonPressed()
会告诉您已按下了什么按钮,您可以采取行动,甚至可以通过myButtons[x][y].whatever()
更改按钮