Java 游戏循环未运行
我正在用java制作一个太空射击游戏。我正在使用Java 游戏循环未运行,java,loops,Java,Loops,我正在用java制作一个太空射击游戏。我正在使用Runnable接口,这意味着应该自动调用run()方法。在这个方法中,我有一个循环一直在运行,直到有人将布尔值running设置为false。循环应该可以打印,但不能打印。这是我的密码: package main; import javax.swing.JFrame; import javax.swing.JPanel; public class Game extends JPanel implements Runnable { p
Runnable
接口,这意味着应该自动调用run()
方法。在这个方法中,我有一个循环一直在运行,直到有人将布尔值running
设置为false。循环应该可以打印,但不能打印。这是我的密码:
package main;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Game extends JPanel implements Runnable {
private static final long serialVersionUID = 1L;
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public static final String TITLE = "Space Shooter";
private boolean running = false;
private Thread thread;
public Game() {
}
private synchronized void start() {
if (running)
return;
running = true;
thread = new Thread();
thread.start();
}
private synchronized void stop() {
if (!running)
return;
running = false;
try {
thread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit(1);
}
@Override
public void run() {
while (running) {
System.out.println("WORKING");
}
stop();
}
public static void main(String[] args) {
Game game = new Game();
JFrame frame = new JFrame(TITLE);
frame.setSize(WIDTH, HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(game);
frame.setVisible(true);
game.start();
}
}
您忘记将
Runnable
实例传递给线程构造函数:
thread = new Thread(this);
您忘记将
Runnable
实例传递给线程构造函数:
thread = new Thread(this);