java程序在同一个jar中调用另一个程序时冻结
我只是想把太空入侵者作为复活节彩蛋添加到我制作的程序中。 我找到了一个开源代码 游戏本身运行良好。然而,当我试图从程序中的一个按钮运行它时,它会使我的程序和游戏冻结。我只是把他的源代码添加到我的源代码中,所以它在同一个jar文件中 我试过两种方法来开始java程序在同一个jar中调用另一个程序时冻结,java,Java,我只是想把太空入侵者作为复活节彩蛋添加到我制作的程序中。 我找到了一个开源代码 游戏本身运行良好。然而,当我试图从程序中的一个按钮运行它时,它会使我的程序和游戏冻结。我只是把他的源代码添加到我的源代码中,所以它在同一个jar文件中 我试过两种方法来开始 java.awt.EventQueue.invokeLater(new Runnable() { public void run() { Game.main(null);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Game.main(null);
}
});
}
及
普通的老Game.main(空)代码>
我应该换个方式开始吗
public static void main() {
// Start the main game loop, note: this method will not
// return until the game has finished running. Hence we are
// using the actual main thread to run the game.
SpaceInvaders si = new SpaceInvaders();
Thread SpaceInvaders = new Thread(si);
SpaceInvaders.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
new SpaceInvaders().gameLoop();
}
}
只是需要为它创建自己的线程。不,应该可以。检查main方法是否对使用null作为参数感到满意。有错误消息吗?如果我们不知道你在哪个环境中(比如知道你的应用程序是否有GUI),我们将无法帮助你。它确实启动了空间入侵者,但它们都冻结了。我在这两方面都有gui。就环境而言,它的Windows7带有Java7。游戏是否扩展了JFrame或其他东西?如果您可以访问游戏的主类,您是否可以不使用newgame().setVisible(true)代码>?试过了,但没用。启动程序实际上需要gameloop。我希望避免自己编写一个太空入侵者的程序,只想要一个简单的复活节彩蛋。有些东西卡住了,因为它们都在同一个jar中同时运行。