一些2D Java代码问题
我正在尝试开始一些2d代码,到目前为止我已经有了很多。它应该只是让一个窗口出现,但当我运行它(在调试中)时,我会得到一个错误,说找不到源?有人看到我遗漏了什么吗一些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
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)
允许系统特定的默认位置。