用数组中的对象填充Java中的GridLayout?

用数组中的对象填充Java中的GridLayout?,java,multidimensional-array,grid-layout,Java,Multidimensional Array,Grid Layout,我正在学习Java,并试图将“扫雷者”作为一种学习体验来实现。我已经完成了大部分逻辑工作,但是我的递归checkMine()方法遇到了麻烦。我认为问题在于我对GridLayout如何与2D阵列交互的理解,或者说是误解 我需要能做的是构造一个充满地雷的2D数组——地雷是一个扩展JButton的对象——并将数组的每个元素分配到它自己的GridLayout位置。目前,我的游戏正在运行,但数字显示的炸弹数量不正确,我相信在调试后,这可能只是我在GridLayout中实现2D阵列的一个问题 问题:是否可以

我正在学习Java,并试图将“扫雷者”作为一种学习体验来实现。我已经完成了大部分逻辑工作,但是我的递归checkMine()方法遇到了麻烦。我认为问题在于我对GridLayout如何与2D阵列交互的理解,或者说是误解

我需要能做的是构造一个充满地雷的2D数组——地雷是一个扩展JButton的对象——并将数组的每个元素分配到它自己的GridLayout位置。目前,我的游戏正在运行,但数字显示的炸弹数量不正确,我相信在调试后,这可能只是我在GridLayout中实现2D阵列的一个问题


问题:是否可以用二维数组的单个元素填充网格布局?如果没有,我最好的方法是什么?

假设您的类扩展了
java.applet.applet

// Columns, Rows
Mines[][] mineGrid;

// Add stuff to the `mineGrid` array

// Set the height to the number of rows, length to number of columns
setLayout(new GridLayout(mineGrid.length, mineGrid[0].length);
// For each row
for(int rowIndex = 0; rowIndex < mineGrid.length; rowIndex++) {
    // For each column
    for(int colIndex = 0; colIndex < mineGrid[0].length; colIndex++) {
        // Add the button, because of GridLayout it starts @ the top row, goes across left to right, down a row, across left to right, etc.
        add(mineGrid[rowIndex][colIndex];
    }
}
//列、行
矿山[][]矿井网;
//向“mineGrid”数组添加内容
//将高度设置为行数,将长度设置为列数
setLayout(新的GridLayout(mineGrid.length,mineGrid[0].length));
//每行
对于(int-rowIndex=0;rowIndex
我不明白为什么会有问题。GridLayout是用行和列定义的。诀窍在于如何存储/访问矿山引用。在这样做的时候,你应该遵循这种模式。阅读更多关于它的内容,然后用MVC透视图解决你的问题。数字显示不正确或是not计算正确,因此显示错误的信息?如果是后者,则混合了程序逻辑和GUI,而您不应该这样做。第一行索引是否应