我已经尝试了几种方法来做到这一点...基本上我正在尝试为作业创建一个tic tac toe board,也许我错过了一些明显的东西,但我得到的是“不是声明”我尝试创建按钮时出错。这是我得到的代码:
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]);
}
}
...谢谢
答案 0 :(得分: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 tutorial on arrays。
注意:您是否有理由不使用List
而不是数组?如果能让你的生活更轻松。
答案 1 :(得分: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;