Repl.it Java SWING,控制台继续以不找到主类结束,我该如何添加?

问题描述 投票:0回答:1

所以这是我得到的结束错误:

无法找到或加载由java.lang.classnotfoundexception main引起的主类main

这是我正在使用的代码:Main.java

package com.test.main;

import java.awt.Canvas;

public class Main extends Canvas implements Runnable {

    private static final long serialVersionUID = -235234634745643747L;

    public static final int WIDTH = 640, HEIGHT = WIDTH /12 * 9;

    public Game() {
        new Window(WIDTH, HEIGHT, "Test Window", this);
    }

    public synchronized void start() {
    }

    public void run() {
    }

    public static void main(String args[]){
            new Game();
    }
}

window.Java

package com.test.main;

import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;

public class Window extends Canvas{

    private static final long serialVersionUID = -235234634745643747L;

    public Window(int width, int height, String title, Game game) {
        JFrame frame = new JFrame(title);

        frame.setPreferredSize(new Dimension(width, height));
        frame.setMaximumSize(new Dimension(width, height));
        frame.setMinimumSize(new Dimension(width, height));

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.add(game);
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setUndecorated(true);
        frame.setVisible(true);
        game.start();
    }
}

所以问题是,我做错了什么?我不认为错误来自我的代码,我相信它必须对文件做一些事情(PS:我在java swing上使用Repl.it)。

java swing canvas window repl.it
1个回答
0
投票

正如错误所述,该方法未正确定义,因为它缺少返回类型。从现有代码看,您似乎打算因调用而定义构造函数

new Game();

在主要方法。但是构造函数必须与定义它的类具有相同的名称,因此您应该更改其名称,如下所示

public Main() {

并且还将main()中的调用更新为

new Main();
© www.soinside.com 2019 - 2024. All rights reserved.