已经有很多关于这方面的资源,但我似乎无法让它发挥作用。我究竟做错了什么? 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 cannot be cast to java.applet.Applet
最佳答案
java.lang.ClassCastException: ImpViewer cannot be cast to java.applet.Applet
“小程序”不是小程序。
顺便说一句 - 漂亮的用户界面。就像红色飞溅淡入“欢迎介绍性研讨会”页面的方式一样。非常顺畅。
使用 Java Web Start 从链接启动它(请不要尝试将如此漂亮的 UI 塞进网页中)。
如果客户坚持将 GUI 塞进网站,那么(帮我拍打他们 &)试试这个 hack。
/*
<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();
}
}
}
}
}
重点是“hack”这个词。
Frame
会在屏幕上闪烁然后消失。- 它只能在 720x564 像素下工作,这与可调整为任意大小的
java.awt.Frame
不同。但是,无论如何,您的“100%”宽度/高度有点乐观。有些浏览器会遵守这些限制,有些则不会。
关于java - 如何在 HTML 中嵌入 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531740/