一些2D Java代码问题

一些2D Java代码问题,java,swing,jframe,2d,Java,Swing,Jframe,2d,我正在尝试开始一些2d代码,到目前为止我已经有了很多。它应该只是让一个窗口出现,但当我运行它(在调试中)时,我会得到一个错误,说找不到源?有人看到我遗漏了什么吗 package game; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Dimension; import javax.swing.JFrame; public class Game extend

我正在尝试开始一些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();

}


 }

我从一些教程中学习到这一点,我自己也读了几遍代码,但我看不出哪里出了问题(

问题在于这一行:

frame.setLocation(null);

提供给的参数不得为null。如果不需要设置帧的位置,请不要调用该方法。默认情况下,帧放置在屏幕的左上角。

问题在于这一行:

frame.setLocation(null);

提供给的参数不得为null。如果不需要设置帧的位置,请不要调用该方法。默认情况下,帧放置在屏幕的左上角。

问题在于这一行:

frame.setLocation(null);

提供给的参数不得为null。如果不需要设置帧的位置,请不要调用该方法。默认情况下,帧放置在屏幕的左上角。

问题在于这一行:

frame.setLocation(null);

提供给的参数不能为null。如果不需要设置帧的位置,请不要调用该方法。默认情况下,帧放置在屏幕的左上角。

请包含完整错误和堆栈跟踪。我只是在
frame.setLocation(null)处收到一个错误
,如果我删除该行,它会运行良好,显示一个空帧并在无限循环中打印“Hello”。是的,当我删除该行时,它也起作用,但我认为它必须包含在内。预期会出现帧和“Hello”循环。是的,就是这样,谢谢:)抱歉,当我盯着它看太久的时候,我开始错过这些东西。也许你指的是
frame.setLocationRelativeTo(null)
,它可以完美地工作,并将框架的位置设置在屏幕中央。请包括完整的错误和堆栈跟踪。我只是在
frame.setLocation(null)
上得到一个错误,如果我删除它,它运行良好,显示一个空帧并在无限循环中打印“Hello”。是的,当我删除该行时,它也起了作用,但我认为它必须被包括在内。帧和“hello”循环是预期的。是的,就是这样,谢谢:)很抱歉,当我盯着它看太久的时候,我开始错过这些东西。也许你的意思是
frame.setLocationRelativeTo(null)
,它可以完美地工作,并将帧的位置设置在屏幕中央。请包括完整的错误和堆栈跟踪。我只是在
frame.setLocation(null)
上得到一个错误,如果我删除它,它运行良好,显示一个空帧并在无限循环中打印“Hello”。是的,当我删除该行时,它也起了作用,但我认为它必须被包括在内。帧和“hello”循环是预期的。是的,就是这样,谢谢:)很抱歉,当我盯着它看太久的时候,我开始错过这些东西。也许你的意思是
frame.setLocationRelativeTo(null)
,它可以完美地工作,并将帧的位置设置在屏幕中央。请包括完整的错误和堆栈跟踪。我只是在
frame.setLocation(null)
上得到一个错误,如果我删除它,它运行良好,显示一个空帧并在无限循环中打印“Hello”。是的,当我删除该行时,它也起了作用,但我认为它必须被包括在内。帧和“hello”循环是预期的。是的,就是这样,谢谢:)很抱歉,当我盯着它看太久的时候,我开始错过这些东西。也许你的意思是
frame.setLocationRelativeTo(null)
,它可以完美地工作并将帧的位置设置在屏幕中央。或者,调用
setLocationByPlatform(true)
在打开
框架之前允许系统特定的默认位置。或者,在打开
框架之前调用
setLocationByPlatform(true)
允许系统特定的默认位置。或者,调用
setLocationByPlatform(true)
在打开
框架之前允许系统特定的默认位置。或者,在打开
框架之前调用
setLocationByPlatform(true)
允许系统特定的默认位置。