Applet代码适用于AppletViewer(eclipse),而不适用于浏览器

时间:2012-03-14 17:17:15

标签: java html browser applet appletviewer

我今天写了这样的代码:

import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import net.miginfocom.swing.MigLayout;

@SuppressWarnings("serial")
public class mainClass extends JApplet {

    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet's GUI.
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {

                    try {

                        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

                        JPanel czat = new JPanel();

                        setLayout(new MigLayout());

                        JPanel panel3 = new JPanel();
                        panel3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gry"));

                        add(panel3, "height 200:75%:10000, width 200:75%:10000");

                        JPanel panel1 = new JPanel();
                        panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Gracze"));

                        add(panel1, "height 200:75%:10000, width 50:25%:10000, wrap");

                        JPanel panel2 = new JPanel();
                        panel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Czat"));

                        add(czat, "height 50:25%:10000, width 100%, span");

                        setVisible(true); // important


                    } catch (Exception e) {
                        e.printStackTrace();
                    }


                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't complete successfully");
        }
    }
}

任何人都可以告诉,为什么它在Applet查看器中工作,而不是在浏览器中?在我使用MigLayout之前工作。我使用的html代码是:

<html>
<applet alt = "Aplikacja klienta" code = 'mainClass' archive = 'applet.jar', width=500, height=500 />
</html>

我在各个地方寻找,但我无法找到解决方案。

提前致谢, 马尔钦

1 个答案:

答案 0 :(得分:2)

请尝试使用此版本的HTML,确保将'n.n'与正在使用的MigLayout版本号交换。

<html>
<body>
<applet
    alt="Aplikacja klienta"
    code='mainClass'
    archive='applet.jar, miglayout-n.n-swing.jar, miglayout-n.n.jar'
    width=500
    height=500 >
</applet>
</body>
</html>

不要害怕使用validation service检查HTML。那个HTML在很多方面都是无效的,我不记得了!

作为另一个提示,请确保将Java控制台配置为在加载applet时打开。这对applet开发至关重要。在Java控制面板的最后一个选项卡下配置它。

相关问题