Ошибки объявления объекта класса драйвера Java - PullRequest
0 голосов
/ 22 декабря 2019

поэтому я пытаюсь сделать игру на Java. У меня есть несколько классов, таких как класс Gameloop, класс Maze и класс Screen, который реализует JFrame. Прежде чем я объясню проблему, вот мой класс Driver, он довольно прост:

import javax.swing.SwingUtilities;

public class Driver {
static Maze maze;
static Screen screen;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Driver.create_game();
            }
        });
    }

    protected static void create_game() {
        Driver.maze=new Maze();
        Driver.screen=new Screen(maze);
        GLoop loop= new GLoop(maze,screen);
        loop.start();
    }

}

приведенный выше код не запускает два метода конструктора new Maze() или new Screen() Однако, когда я вызываю каждый конструктор объектов ната же самая строка, что и я, объявляет их, все в порядке. Есть идеи, почему это так? Я могу также предоставить их конструкторы при необходимости.

1 Ответ

0 голосов
/ 22 декабря 2019

Я думаю, что main завершает работу, прежде чем invokeLater получит шанс на запуск. Добавьте после invokeLater цикл с чем-то вроде sleep (0) / yield в нем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...