在前面的單元中,我們完成了遊戲視窗框架以及頂部的標題面板。今天我們要進入這個專案最核心的部分——在 3x3 網格面板中放入互動按鈕,並初始化遊戲狀態變數。
JButton[][] board = new JButton[3][3]; // 宣告 3x3 的按鈕二維陣列,用來儲存與管理 9 個格子
String playerX = "X"; // 玩家 X
String playerO = "O"; // 玩家 O
String currentPlayer = playerX; // 紀錄目前的回合是誰(預設由 X 先開始)
for (int r = 0; r < 3; r++){
for (int c = 0; c < 3; c++){
JButton tile = new JButton(); // 1. 建立單一按鈕(格子)
board[r][c] = tile; // 2. 將按鈕存入二維陣列中對應的位置
boardPanel.add(tile); // 3. 將按鈕加入 3x3 的網格面板中
// 設定按鈕的視覺外觀與互動屬性
tile.setBackground(Color.darkGray); // 按鈕背景色(深灰)
tile.setForeground(Color.white); // 文字顏色(白色)
tile.setFont(new Font("Arial", Font.BOLD, 120)); // 字型設為 Arial、粗體、字級 120(讓 X 或 O 顯示得夠大)
tile.setFocusable(false); // 取消按鈕的焦點框線,讓外觀更清爽
}
}
跑出來長這樣:
參考教學影片:https://youtu.be/Nc77ymnm8Ss?si=MXYrFHchbvXcpGr8