如何在HTML中嵌入jar


问题内容

已经有很多资源,但是我似乎无法使它正常工作。我究竟做错了什么?jar文件位于:

http://www.alexandertechniqueatlantic.ca/multimedia/AT-web-presentation-
imp.jar

我用来嵌入的代码是:

<APPLET ARCHIVE="multimedia/AT-web-presentation-imp.jar" 
        CODE="ImpViewer.class" 
        WIDTH=100% 
        HEIGHT=100%>
</APPLET>

我正在使用的测试页位于:

http://www.alexandertechniqueatlantic.ca/test.php

当我下载jar时,它运行良好,因此可以确定问题仅在于html嵌入。请帮忙!

另外,我得到以下错误:

java.lang.ClassCastException:无法将ImpViewer强制转换为java.applet.Applet


问题答案:

java.lang.ClassCastException: ImpViewer cannot be cast to java.applet.Applet

“小程序” 不是 小程序。

顺便说一句-漂亮的用户界面。就像红色的标语逐渐淡入“欢迎使用入门研讨会”页面的方式一样。很顺利

使用Java Web Start从链接启动它(&请不要尝试将如此漂亮的UI塞入网页中)。


如果客户坚持将GUI塞入网站,则(为我&拍打他们)尝试此技巧。

/*
<APPLET 
    ARCHIVE="AT-web-presentation-imp.jar" 
    CODE="ImpViewerApplet" 
    WIDTH=720 
    HEIGHT=564>
</APPLET>
*/
import java.awt.*;
import java.applet.*;
import java.util.*;

public class ImpViewerApplet extends Applet {

    public void init() {
        setLayout(new BorderLayout());
        Window[] all = Window.getWindows();
        ArrayList<Window> allList = new ArrayList<Window>();
        for (Window window : all) {
            allList.add(window);
        }
        String[] args = {};
        ImpViewer iv = new ImpViewer(); 
        iv.main(args);

        all = Window.getWindows();
        for (Window window : all) {
            if (!allList.contains(window) && window.isVisible()) {
                if (window instanceof Frame) {
                    Frame f = (Frame)window;
                    Component[] allComp = f.getComponents();
                    Component c = f.getComponents()[0];
                    f.remove(c);
                    f.setVisible(false);
                    add(c);
                    validate();
                }
            }
        }
    }
}

重点是“黑客”一词。

  1. Frame消失之前,将闪烁到屏幕上。
  2. 它只能以720x564像素工作,这与java.awt.Frame可调整为任何大小的大小不同。但是,无论如何,您的“ 100%”宽度/高度还是有点乐观。有些浏览器会遵守这些限制,而其他浏览器则不会。