【问题标题】:Cannot use applet in HTML无法在 HTML 中使用小程序
【发布时间】:2012-05-02 02:10:18
【问题描述】:

我有这个代码:

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;


public class MainApp extends JApplet implements ActionListener {
    private static final long serialVersionUID = -7076767216192554828L;
    JButton begin = new JButton(new ImageIcon("splash.png"));
    @Override
    public void init() {
        setSize(300, 300);
        setLayout(new BorderLayout());
    begin.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            begin();
        }

    });
    add(begin);
    setVisible(true);
}
private void begin() {
    remove(begin);
    repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
          //to be used later
}
}

在 Eclipse 的小程序查看器中可以完美运行。但是,在 HTML 中,它失败了:

<html>
<head>
<title> Test </title>
<body>
<APPLET code="MainApp.class" width="300" height="300"> Applet unavailable </APPLET> <br>
<a href="essay.docx"> Essay </a> (right click, Save Target As, in the menu under the name change it to "All Files," save as "essay.docx")
</body>
</html>

当我运行它时,它会给出一个java.lang.reflect.InvocationTargetException!我查看了异常,发现没有任何帮助。

在我使用.png 作为按钮之前。一切都很好。我还添加了repaint(),但这并没有什么不同。

【问题讨论】:

  • splash.png 相对于 HTML 或 applet Jars 的位置在哪里?该图像必须由URL 而不是String 访问,因为String 被解释为File 路径,并且小程序无法从服务器加载File,只能加载URL。跨度>
  • 那么如何获取图片的 URL?该图像位于包含 HTML 文件的文件夹中。哦,等等,没关系,安塞尔姆的评论有。
  • setSize(300, 300); 小程序的大小应该在 HTML 中设置。不要尝试从代码中调整它的大小。
  • 不客气。很高兴你把事情解决了。 :)

标签: java applet embedded-resource japplet


【解决方案1】:

图像位于包含 HTML 文件的文件夹中。

// called from somewhere in the methods (e.g. init()) of the applet class 
URL urlToImage = new URL(getDocumentBase(), "splash.png");
begin = new JButton(new ImageIcon(urlToImage));
// ...

【讨论】:

    【解决方案2】:

    小程序找不到splash.png文件,你是否将它包含在小程序Jar中?

    【讨论】:

    • 小程序没有jar。
    • 尝试将JButton begin = new JButton(new imageIcon("splash.png")); 硬编码为JButton begin = new JButton(new imageIcon("http://localhost/splash.png")); 之类的东西,同时检查您的小程序控制台,它可能输出了一些错误。
    • 不,控制台没有错误。实际上,小程序显示,然后它说“错误。单击此处查看详细信息。”明天我会发布一个网站。实际上我会在 mediafire 上上传一个 .zip 文件。但是在 Eclipse 的小程序查看器中它运行良好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2012-02-16
    • 2012-04-17
    • 1970-01-01
    相关资源
    最近更新 更多