在浏览器上运行一个非applet .jar游戏



我是java游戏编程的初学者。我开发了一个简单的java游戏,并获得了一个。jar文件。它不是一个applet。我想在浏览器上运行它。这可能吗?我怎样才能做到呢?

假设您的jar的主类只是打开一个JFrame来显示它的内容,您可以构建一个包装applet类来简单地调用它,像这样:

public class WrapperApplet extends Applet {
    public void start() {
       new Thread("application main Thread") {
          public void run() { runApplication(); }
       }.start();
    }
    private void runApplication() {
       my.Application.main(new String[0]);
    }
}

如果你想让它更好,让applet显示一个按钮,并在按钮被点击后才启动main方法

如果你想在网页中嵌入一个java应用程序,你需要它是applet的形式。转换它们并不难,请参阅此链接以获得一些帮助。

使用Java Web Start是可能的。来自维基百科文章:

Web Start还可以通过编写适当的JNLP文件来启动打包在.jar文件中的未修改的applet。该文件还可以传递applet参数。这样的小程序也运行在一个单独的框架中。Applet启动器可能不支持某些特定情况,例如将类加载为资源。同一篇文章提到了applet的一些问题"Web Start比applet有一个优势,它克服了浏览器的Java插件和不同JVM版本的许多兼容性问题。

这个问题解释了applet和JWS之间的一些权衡…在我看来,如果您希望不同类型系统上的许多人使用您的应用程序,或者如果它使用相当数量的内存(可能用于游戏),JWS是更好的选择。

最新更新