Repl.it Java SWING,控制台不断结束,找不到主 class,我该如何添加一个?
Repl.it Java SWING, the console keeps on ending with it not finding main class, how do I add one?
所以这是我得到的结束错误:
无法找到或加载 main class main 由 java.lang.classnotfoundexception 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)。
如错误所述,该方法未正确定义,因为它缺少 return 类型。从现有代码看来,由于调用
,您打算定义一个构造函数
new Game();
在主要方法中。但是,构造函数必须与定义它的 class 同名,因此您应该更改其名称,例如
public Main() {
并将 main() 中的调用更新为
new Main();
所以这是我得到的结束错误:
无法找到或加载 main class main 由 java.lang.classnotfoundexception 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)。
如错误所述,该方法未正确定义,因为它缺少 return 类型。从现有代码看来,由于调用
,您打算定义一个构造函数new Game();
在主要方法中。但是,构造函数必须与定义它的 class 同名,因此您应该更改其名称,例如
public Main() {
并将 main() 中的调用更新为
new Main();