我正在尝试开始一些2d代码,到目前为止我已经有了这么多。它应该只会出现一个窗口,但是当我运行它(在调试中)时,我会得到一个错误,说明没有找到源?有人看到我错过了什么吗?
package game;
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Game extends Canvas implements Runnable{
private static final long serialVersionUID = 1L;
public static final int WIDTH = 160;
public static final int HEIGHT= WIDTH/12*9;
public static final int SCALE=3;
public static final String NAME = "My Game";
private JFrame frame;
public boolean running=false;
public Game()
{
setMinimumSize(new Dimension(WIDTH*SCALE, HEIGHT*SCALE));
setMaximumSize(new Dimension(WIDTH*SCALE, HEIGHT*SCALE));
setPreferredSize(new Dimension(WIDTH*SCALE, HEIGHT*SCALE));
frame = new JFrame(NAME);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(this,BorderLayout.CENTER);
frame.pack();
frame.setResizable(false);
frame.setLocation(null);
frame.setVisible(true);
}
public synchronized void start()
{
running = true;
new Thread(this).start();
}
public synchronized void stop()
{
running =false;
}
public void run()
{
while(running)
{
System.out.println("Hello!");
}
}
public static void main(String[]args)
{
new Game().start();
}
}我从几个教程中得到了这一点,我自己看了几遍代码,但我找不到哪里出了问题。:(
发布于 2013-10-22 11:29:26
问题是这条线:
frame.setLocation(null);提供给setLocation的参数不能为null。如果不需要设置帧的位置,则不要调用该方法。默认情况下,框架放在屏幕的左上角.
https://stackoverflow.com/questions/19515910
复制相似问题