0

我有一个使用 EventQueue.invokeLater() 的游戏。我正在添加代码,当游戏结束时我想推送一个新的 EventQueue 有效地重新启动游戏,但是我在 Eclipse 中收到一个错误,上面写着“EventQueue 类型中的方法 push(EventQueue) 不适用于参数(空白)”。我是使用 EventQueue 类的新手,所以可能有一些我不理解的简单内容,或者我试图错误地使用 EventQueue。这是我第一次使用 EventQueue.invokeLater() 运行程序的代码。

public class App extends JFrame{
    public static int level;
    public App(){
        add(new GameBoard());   
        setResizable(false);
        pack();
        setTitle("Planetary Resources Game");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     
    }   
    public static void main(String drew[]){ 
        MyQue r = new MyQue();
        EventQueue.invokeLater(r);      
    }
}

这是我想使用 Event.Queue.push() 方法重新启动游戏的代码。

if(GameLogic.game_is_over == true){
                MyQue r = new MyQue();
                EventQueue.push(EventQueue.invokeLater(r));
                MineCalculation.rocketfuel_amount= 100;
                GameLogic.game_is_over = false; 
            }

谢谢大家的帮助

4

2 回答 2

1

这是因为它push接受了一个类型的参数,EventQueue但是你用 的结果调用了它EventQueue.invokeLater(),这是一个void方法。

于 2015-03-05T17:44:39.277 回答
1

EventQueue.invokeLater(r)是 avoid并且您不能将其用作该push方法的参数。

于 2015-03-05T17:44:46.210 回答