2012-07-15 86 views
0

我已經嘗試了幾種方法來做到這一點...基本上我試圖創建一個tic tac腳趾板的任務,也許我失去了一些明顯的東西,但我得到了「不是一個聲明」的錯誤當我嘗試創建按鈕時。下面是我得到的代碼:使用For語句創建按鈕並將它們添加到面板?

 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]); 
      } 
     } 

謝謝...

回答

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而不是數組?如果會讓你的生活更輕鬆。

+0

感謝那些幫助......老師要的數組。 – commandrix 2012-07-15 21:46:42

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; 
相關問題