2012-09-08 86 views
0

我已經在Java語言中爲遊戲編寫了4個類。有推出遊戲,遊戲邏輯,J按鈕和遊戲板。 我創建並使用for循環將所有9個按鈕添加到網格佈局中。每個按鈕都有一個actionListener。如何模擬哪些JButton被按下Tic Tac Toe遊戲

如何建模用戶按下哪個J按鈕。如果我知道那條信息,我相信我可以使用一組字符來模擬遊戲邏輯。

+0

的可能的複製[?如何獲得元素的X和Y索引中的網格佈局(http://stackoverflow.com/q/7702697/230513) – trashgod

回答

1

使用單獨AbstractAction監聽器,它會看起來像:

JButton[] buttons = new JButton[9]; 
for (int i=0; i < buttons.length; i++) { 
    buttons[i] = new JButton("X or O here"); 
    buttons[i].addActionListener(new MyAction()); 
    add(buttons[i]); 
} 
+0

我已經完成了這部分,但感謝您的答覆。 – Nicholas

+1

ehhh ..你在正確的軌道上,但在中途停下來:使用一個行動就是要做的事情。但不是將它作爲actionListener添加,而是全面爆炸並執行_setAction_ – kleopatra

2

不確定這是否是問題,您可以使用setActionCommand方法爲按鈕分配操作。然後用getActionCommand()ActionEvent檢索它。有關更多詳細信息和示例,請參閱How to Use Buttons

您也可以使用ActionEvent.getSource()來獲取發起事件的對象,即按下的按鈕。

+0

我正在測試getSource方法。我會更多地考慮這一點。感謝Max和大家! – Nicholas

+0

eh .. no:使用_Actions_,而不是actionListeners – kleopatra