gpt4 book ai didi

java - 类不是抽象的,并且不重写抽象方法 java 错误 TIcTacToe 游戏

转载 作者:行者123 更新时间:2023-12-01 20:00:16 26 4
gpt4 key购买 nike

对于一个项目,我必须制作一个井字棋游戏。但是我在使用 ActionListener 时遇到问题。它会引发错误,类不是抽象的,并且不会重写抽象方法。

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class GameGUI extends JFrame implements ActionListener{
private JFrame gFrame = new JFrame("TicTacToe");
private JButton [][] buttons = new JButton[3][3];
private JButton reset = new JButton("New Game");


public GameGUI() {
super("TicTacToe");
gFrame.setSize(500,380);
gFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
gFrame.setVisible(true);
gFrame.setResizable(false);
gameBoard();
}

// Set everything into the actual game board
private void gameBoard() {
JPanel mPanel = new JPanel(new BorderLayout());
JPanel options = new JPanel(new BorderLayout());
JPanel game = new JPanel(new GridLayout(3,3));

gFrame.add(mPanel);

mPanel.setPreferredSize(new Dimension(325,425));
options.setPreferredSize(new Dimension(300,50));
game.setPreferredSize(new Dimension(300,300));

mPanel.add(options, BorderLayout.NORTH);
mPanel.add(game, BorderLayout.CENTER);

options.add(reset, BorderLayout.NORTH);


for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){

buttons[i][j] = new JButton();
buttons[i][j].setText("");
buttons[i][j].setVisible(true);
buttons[i][j].addActionListener(this);

game.add(buttons[i][j]);
}
}

我不知道如何解决这个问题,所以任何帮助将不胜感激,我对 Java 还很陌生,所以如果代码不是很好,请原谅。

最佳答案

在这行代码中,

buttons[i][j].addActionListener(this);

您是说,当单击其中一个按钮时,GameGui 对象应该做出响应。但您尚未指定它如何响应。换句话说,您需要编写一个方法,其中包含单击按钮时要运行的代码。

该方法的第一行应该是

public void actionPerformed(ActionEvent e) {

因为这就是 ActionListener 中声明该方法的方式界面。当您在类的声明中编写 implements ActionListener 时,您 promise 提供 ActionListener 中列出的所有方法的实现。界面。幸运的是,这样的方法只有一种,但您确实需要实现它。

关于java - 类不是抽象的,并且不重写抽象方法 java 错误 TIcTacToe 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48155040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com