Eclipse在运行时不能正确启动我的程序



我正在制作一款2d游戏,作为youtube教程系列的一部分。我才刚刚开始,并已将其全部复制到T.目前只有一个类,我想知道如何设置eclipse以正确运行它。

我正在运行Windows 7 x64

package com.zephyrwolf.main;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Game extends JFrame implements Runnable{
/**
 * 
 */
private static final long serialVersionUID = 0L;
public static final int WIDTH = 360, HEIGHT = 240, SCALE = 2;
public static boolean running = false;
public Thread gameThread;
public synchronized void start() {
    if (running) return;
    running = true;
    gameThread = new Thread(this);
    gameThread.start();
}
public synchronized void stop() {
    if (!running) return;
    running = false;
    try {
        gameThread.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
public void run() {
}
public static void main(String[] args) {
    Game game = new Game();
    game.setPreferredSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
    game.setMaximumSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
    game.setMinimumSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
    JFrame frame = new JFrame("Tile RPG");
    frame.setSize(WIDTH * SCALE,  HEIGHT * SCALE);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.add(game);
    frame.setVisible(true);
}
}

这是我试图让程序运行。

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at javax.swing.JFrame.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at com.zephyrwolf.main.Game.main(Game.java:49)

如果您需要任何新的信息,请发短信给我。

你的游戏类扩展JFrame,然后你试图单独创建一个JFrame,并将你的游戏实例添加到它。因此错误是:

adding a window to a container

(你不能把一个窗口放到另一个窗口里面)。

尝试直接在game上做所有setSize, setVisible的东西。

相关内容

  • 没有找到相关文章

最新更新