我正在开发一个使用 GridLayout 的程序。当我尝试在执行操作后将按钮移动到另一个位置时遇到问题。基本上,我在面板中有一个按钮大小的空白区域。我想将点击的按钮移动到这个空白区域,相反,空白区域将取代这个按钮。我正在使用数组来获取看起来像框架的模型。所以我知道数组中的空白空间在哪里(这是 JButton 数组中的空值),并且我试图使该按钮占据数组中空白空间的位置,反之亦然。但这并没有真正起作用。
任何帮助将不胜感激。
private void setGame(int nbLines, int nbRows, int emptyX, int emptyY) {
pane.removeAll();
for (int i = 0; i < model.length; i++) {
for (int j = 0; j < model[i].length; j++) {
if (!(j == emptyY && emptyX == i)) {
button = new JButton("A");
model[i][j] = button;
pane.add(model[i][j]);
model[i][j].addActionListener(this);
}
}
}
frame.add(pane);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < model.length; i++) {
for (int j = 0; j < model[i].length; j++) {
if (e.getSource() == model[i][j]) {
System.out.println("Cordonnées de i : " + i + "Cordonnées de j : " + j);
model[i][j] = null;
setGame(nbLignes, nbCol, i, j);
}
}
}
}
米琪卡哇伊
相关分类