我在为我的 Java 类(class)构建战舰游戏的网格时遇到了一些麻烦。到目前为止,我可以轻松地创建一个 for
循环来将 JPanel 或 JButton 对象添加到 JFrame。但是,我的问题是在玩游戏时我需要再次使用这些面板或按钮(例如单击按钮以查看您的对手是否在该方格上放置了一艘船,等等)。 Java 中是否有一种简单的方法来初始化大量对象的引用变量?还是我必须单独申报所有这些?
最佳答案
您可以尝试 JPanels(或任何其他对象)的多维数组。创建一个与网格大小相同的数组。下面的行初始化了一个 5 行 5 列的数组。
JPanel[][] battleField = new JPanel[5][5];
使用嵌套的 for 循环在数组中创建面板。
for (int rowIndex = 0; rowIndex < battleField.length; rowIndex++)
{
for (int cellIndex = 0; cellIndex < battleField[rowIndex]; cellIndex++)
{
battleField[rowIndex][cellIndex] = new JPanel();
}
}
如果你想稍后引用 BattleField 数组,你只需将它变成一个实例变量。