0

我已经尝试了几种方法来做到这一点......基本上我正在尝试为作业创建一个井字游戏板,也许我遗漏了一些明显的东西,但是当我收到“不是声明”错误时尝试创建按钮。这是我得到的代码:

        int rows = 3;
        int cols = 3;
        JPanel ticTacToeBoard = new JPanel();
        ticTacToeBoard.setLayout(new GridLayout(3, 3));
        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                JButton gameButton[i] = new JButton[];
                ticTacToeBoard.add(gameButton[i]);
            }
        }

谢谢...

4

2 回答 2

5

您需要在某处声明您的数组:

JButton[] gameButton = new JButton[size];

然后在你的循环中:

gameButton[i] = new JButton();

例如:

JButton[] gameButton = new JButton[rows * cols];
for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        gameButton[i] = new JButton();
        ticTacToeBoard.add(gameButton[i]);
    }
}

您还可以查看有关数组的 Java 教程

注意:是否有理由不使用 aList而不是数组?如果会让你的生活更轻松。

于 2012-07-15T21:34:42.167 回答
4

以下不正确

JButton gameButton[i] = new JButton[];

不需要 []。做就是了

JButton gameButton = new JButton();
ticTacToeBoard.add(gameButton);

如果您还想将按钮存储在数组中,您应该有类似的代码

JButton[] buttonArray = new JButton[10];//or whatever length
...
JButton gameButton = new JButton();
buttonArray[i] = gameButton;
于 2012-07-15T21:35:17.150 回答