Java 如何:JAR->;Web托管应用程序?

Java 如何:JAR->;Web托管应用程序?,java,web,executable-jar,japplet,Java,Web,Executable Jar,Japplet,我一直在四处寻找,所以请原谅,如果我错过了它,我知道有很多线程处理这类事情,但我还没有找到一个明确的答案 我的问题(我认为)很简单。我有一个可执行的JAR文件(在Eclipse中创建),我想把它作为一个小程序放在我的网站上。我对applet不太了解,只是它们是在网页上运行的Java可执行文件 这个转换是微不足道的,还是需要我完全重写我的程序?请记住,它严重依赖于Swing组件,如JTabbedPanes、JButtons、JLabels等 谢谢 编辑:多亏了一个答案,我已经在一个类中重写了我的组

我一直在四处寻找,所以请原谅,如果我错过了它,我知道有很多线程处理这类事情,但我还没有找到一个明确的答案

我的问题(我认为)很简单。我有一个可执行的JAR文件(在Eclipse中创建),我想把它作为一个小程序放在我的网站上。我对applet不太了解,只是它们是在网页上运行的Java可执行文件

这个转换是微不足道的,还是需要我完全重写我的程序?请记住,它严重依赖于Swing组件,如JTabbedPanes、JButtons、JLabels等

谢谢

编辑:多亏了一个答案,我已经在一个类中重写了我的组件,使其对applet友好,该类扩展applet并像在run()方法中那样构建我的GUI。我现在的问题是,以前,我有一个程序本身的run方法(这是一个排序模拟)。在内部,它只是随着时间的推移更新某些东西,但它是在一个无限循环中这样做的。如果没有这个运行代码,我的小程序可以构建GUI,但是如果没有运行代码,GUI将毫无用处,这将导致小程序无法加载任何组件。有什么想法吗


编辑2:我刚刚决定使用JavaWebStart。谢谢。

您需要声明一个小程序扩展类,它将是小程序的入口点:

public class HelloWorld extends JApplet {
    //Called when this applet is loaded into the browser.
    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet's GUI.
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    JLabel lbl = new JLabel("Hello World");
                    add(lbl);
                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't complete successfully");
        }
    }
}
通过
run
方法(在本例中)或
init()
,您可以执行程序执行的所有操作。 接下来,您需要在浏览器html中指定小程序:

<applet code="yourMainClass.class" height="250" width="350">
  <b>Sorry, you need Java to play this game.</b>
</applet>

抱歉,您需要Java来玩这个游戏。

总而言之:您需要重写入口点类(包含main方法的类),从这里您需要调用所有相同的Swing构建函数。并重新打包所有内容。

您不需要将其转换为小程序。您可以直接使用Java Web Start。

我从来不知道JAR需要额外的代码才能成为小程序。感谢您的回答,也感谢您询问@humdedlediddle@ArtemMoskalev我已经在一个类中重写了我的组件,使其对applet友好,该类扩展applet并构建GUI,就像您在run()方法中所做的那样。我现在的问题是,以前,我有一个程序本身的run方法(这是一个排序模拟)。在内部,它只是随着时间的推移更新某些东西,但它是在一个无限循环中这样做的。如果没有这个运行代码,我的小程序可以构建GUI,但是如果没有运行代码,GUI将毫无用处,这将导致小程序无法加载任何组件。有什么想法吗?