2011-12-11 60 views
3

我是java遊戲編程的初學者。我開發了一個簡單的java遊戲並獲得了它的一個.jar文件。它不是一個小程序。我想在瀏覽器上運行它。那可能嗎?我怎樣才能做到這一點?在瀏覽器上運行非applet .jar遊戲

回答

0

這可能與Java Web Start。來自維基百科的文章:

Web Start還可以通過編寫合適的JNLP文件啓動打包在.jar文件中的未修改的小程序。該文件也可以傳遞小程序參數。這些小程序也運行在一個單獨的框架中。 Applet啓動器可能不支持將類加載爲資源等特定情況。「同一篇文章提到了applet的一些問題」Web Start比applet具有優勢,它克服了瀏覽器的Java插件和不同JVM版本的許多兼容性問題。

這太問題解釋了一些關於Applets v. JWS權衡的......在我看來,如果你希望有很多人在不同類型的系統中使用你的應用程序,或者如果它使用的內存相當數量(可能與一場比賽),JWS更好。

+0

但是我的遊戲已經存在於.jar文件中。我只是在尋找一種方法來部署它並讓它在瀏覽器上運行,就好像一個小程序。 –

+0

JWS可以實現。從維基百科的文章中:「Web Start還可以通過編寫合適的JNLP文件來啓動打包在.jar文件中的未經修改的applet,該文件也可以傳遞applet參數,這樣的applet也可以在單獨的框架中運行,Applet啓動器可能不會支持一些特定的情況,如將類加載爲資源。「同一篇文章提到了applet的一些問題:「Web Start比applet具有優勢,它克服了瀏覽器的Java插件和不同JVM版本的許多兼容性問題。」 –

+0

這個SO問題解釋了Applets訴JWS的一些權衡:http://stackoverflow.com/questions/2530380/java-web-start-vs-embedded-java-applet在我看來,如果你期望很多不同類型系統上的用戶使用你的應用程序,或者如果它使用了相當數量的內存(可能與遊戲有關),JWS更好。 –

0

如果你想在網頁中嵌入一個Java應用程序,你需要它在applet形式。轉換它們並不難,請參閱link以獲得一些幫助。

1

假設你的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]); 
    } 

} 

如果你想讓它更好的,有小程序秀只有在點擊按鈕後才能啓動主方法。

相關問題