0

我正在尝试构建一个棋盘,但我不断收到一个似乎无法修复的错误。

我试图找到它可能是什么,但我只是迷路了。

我的代码:

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


public class chess extends JFrame {
int column_want, column_curr, column_diff;
int row_want, row_curr, row_diff;

    public static void main(String[] args) {
        System.out.println("Welcome to java");
        board frame = new boardLayout();
        frame.setSize(500, 500);
        frame.setTitle("chess Board");
        frame.setLocationRelativeTo(null); //center of frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
public void boardLayout() {
    JPanel board = new JPanel(new GridLayout(6,5,1,1)); // gridLayout (row, column, hgap, vgap)
    add(board, BorderLayout.NORTH);
}


}

它声称在第 12 行,但我不知道为什么那里可能会出现错误。

第 12 行:

    board frame = new boardLayout();
4

2 回答 2

2

您声明了一个 type board,它既不在导入中,也不在文件中。然后你尝试创建一个类的实例boardLayout,它就像类型一样是未知的。

public void boardLayout()是一个方法声明,它不会作为构造函数工作,除非它与它所属的类同名,并且您将删除返回类型void。喜欢public chess()

众所周知,构造函数确实声明了它的返回类型,即它返回它实例化的对象。所以new chess()将返回一个类型的新对象chess

于 2015-04-03T08:53:58.870 回答
0

您正在混淆语法元素。您只需要new在创建新对象时使用关键字。调用方法时,无需使用“new”。

命名提示:方法名称应包含动词,因此createBoard更“java风格”。

于 2015-04-03T08:54:39.443 回答