Tic Tac Toe游戏

时间:2014-04-25 20:37:51

标签: java mouselistener

我正在java中为个人学习目的制作一个tic tac toe游戏,并且我试图改变按钮的文本来自" - "到" O"单击按钮时。显然,我没有正确地理解它,一些提示将不胜感激。

当我运行代码时,我也会收到错误"在java.awt.AWTEventMulticaster.mouseEntered(未知来源)"

//includes graphics, button, and frame
import java.awt.*; 
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.*;


public static JButton [][] b = new JButton[3][3];

public static void playerMove(){
b[0][0].addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
            String text = b[0][0].getText();
            if(text.equals("-")){
                b[0][0].setText("O");
                //computerMove();
            }
            else{
                System.out.println("Pick Again");
                playerMove();
            }
        }
    });

}       

1 个答案:

答案 0 :(得分:2)

您要做的是在程序的开头设置一个监听器,而不是在调用playerMove时。像这样的东西

public static JButton [][] b = new JButton[3][3];
{ // Initialization code follows
    b[0][0].addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String text = b[0][0].getText();
            if(text.equals("-")){
                b[0][0].setText("O");
                computerMove();
            }
            else{
                System.out.println("Pick Again");
            } } });
   // And so on for the other 8 buttons.
}

当然你可能想要使用循环而不是重复类似的代码9次,但正如你所说,这是另一个问题。