初始化许多对象的引用变量?

Zac*_*ura 4 java swing

我在为Java类构建战舰游戏的网格时遇到了一些麻烦.到目前为止,我可以轻松地创建一个for循环来将JPanel或JButton对象添加到JFrame.但是,我的问题是,在玩游戏时我需要再次使用这些面板或按钮(例如点击一个按钮,看看你的对手是否在该广场上放了一艘船等等).Java中是否有一种简单的方法来初始化大量对象的引用变量?或者我必须单独申报所有这些内容吗?

wil*_*ood 5

您可以尝试JPanels(或任何其他对象)的多维数组.创建一个与网格大小相同的数组.下面的行初始化一个包含5行和5列的数组.

JPanel[][] battleField = new JPanel[5][5];
Run Code Online (Sandbox Code Playgroud)

使用嵌套for循环在数组中创建面板.

for (int rowIndex = 0; rowIndex < battleField.length; rowIndex++)
{
    for (int cellIndex = 0; cellIndex < battleField[rowIndex]; cellIndex++)
    {
         battleField[rowIndex][cellIndex] = new JPanel();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你想稍后引用battleField数组,你只需将它变成一个实例变量.