我正在尝试使用按钮在Eclipse上创建一个基本的Tic Tac Toe游戏。我只有一门计算机编程课程,但我喜欢它,并且正在尝试通过进行一些基本的游戏设计来学习。我找到了一个YouTube视频,内容涉及如何像两人游戏一样创建井字游戏,而不是针对计算机,并完全按照它进行操作,但仍然出现错误:“无法解析为类型”。我知道“无法解析为一种类型”通常是因为某些东西拼写错误,或者缺少大写字母或其他东西,但是如果是这样的话,我将找不到它。如果有人可以帮助我弄清楚为什么会出现此错误,我将非常感激。
package ticTacToe;
import javax.swing.*;
import java.awt.GridLayout;
public class ticTacToe extends JFrame{
JPanel panel = new JPanel();
XOButton buttons[]=new XOButton[9];
我的问题是在上面的XOButton上,在XOButton的两个实例上它都显示错误“ XOButton无法解析为类型”。
public static void main(String[] args) {
new ticTacToe();
}
public ticTacToe()
{
super("ticTacToe");
setSize(400,400);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel.setLayout(new GridLayout(3,3));
for(int i=0; i<9; i++)
{
buttons[i]=new XOButton();
panel.add(buttons[i]);
}
add(panel);
setVisible(true);
}
}
每当我调用XOButton或按钮时,我也会收到错误消息。我在这里有XOButton类:
package XOButton;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class XOButton extends JButton implements ActionListener{
ImageIcon X,O;
byte value=0;
/*
* 0:nothing
* 1:x
* 2:O
*/
public XOButton()
{
X=new ImageIcon(this.getClass().getResource("x.png"));
O=new ImageIcon(this.getClass().getResource("o.png"));
this.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
value++;
value%=3;
switch(value)
{
case 0:
setIcon(null);
break;
case 1:
setIcon(X);
break;
case 2:
setIcon(O);
break;
}
}
}
最佳答案
在检查完所有内容后,我的IDE都可以正常工作,检查您的导入和类名。
我将附上您在帖子中使用的工作源代码。
壁虱类
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JFrame;
import javax.swing.JPanel;
公共类ticTacToe扩展了JFrame {
JPanel panel = new JPanel();
XOButton buttons[]=new XOButton[9];
public ticTacToe()
{
super("ticTacToe");
System.out.println("TICK TACK TOE CLASS");
setTitle("GAME");
setAlwaysOnTop(true);
setSize(390,390);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel.setLayout(new GridLayout(3,3));
panel.setBackground(Color.black);
for(int i=0; i<9; i++)
{
buttons[i]=new XOButton();
panel.add(buttons[i]);
}
add(panel);
setVisible(true);
}
public static void main(String[] args) {
new ticTacToe();
}
}
XObutton类