使用2D数组中的对象在Java中填充GridLayout?

时间:2014-05-21 14:14:32

标签: java multidimensional-array grid-layout

我正在学习Java,并且正在尝试将MineSweeper作为一种学习体验。我已经掌握了大部分逻辑,但是我的递归checkMine()方法遇到了麻烦。我认为问题在于我对GridLayout如何与2D数组交互的理解或误解。

我需要做的是构建一个充满Mines的2D数组 - 它是一个扩展JButton的对象 - 并将数组的每个元素分配给它自己的GridLayout位置。目前,我有游戏工作,但数字没有显示正确数量的炸弹,我相信在调试后这可能只是我使用GridLayout实现2D数组的问题。

问题:是否可以使用2D数组的各个元素填充GridLayout?如果没有,那么对我来说最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

d。假设您的课程延伸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];
    }
}