“在Java中使用EventQueue.push()方法时,”不适用于参数(void)“错误

时间:2015-03-05 17:35:35

标签: java swing jpanel eventqueue

我有一个使用EventQueue.invokeLater()的游戏。我正在添加代码,当游戏过度有效地重新启动游戏时,我想要推送一个新的EventQueue但是我在Eclipse中得到一个错误,它读取"类型中的方法push(EventQueue) EventQueue不适用于参数(void)"。我是使用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; 
            }

谢谢大家的帮助

2 个答案:

答案 0 :(得分:1)

这是因为push采用EventQueue类型的参数,但您已使用EventQueue.invokeLater()的结果调用它,这是void方法

答案 1 :(得分:1)

EventQueue.invokeLater(r)void,您不能将其用作push方法的参数。