Код апплета работает в AppletViewer (eclipse), а не в браузере

Сегодня я написал такой код:

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");
        }
    }
}

Кто-нибудь может сказать, почему это работает в программе просмотра апплетов, а не в браузере? Работал до того, как я использовал MigLayout. HTML-код, который я использую:

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

Я искал в разных местах, но я не могу найти решение для этого.

Заранее спасибо, Марчин


person marxin    schedule 14.03.2012    source источник


Ответы (1)


Вместо этого попробуйте использовать эту версию 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>

Не бойтесь проверять HTML с помощью службы проверки. Этот HTML был недействителен во многих отношениях, что я сбился со счета!

Еще один совет: убедитесь, что консоль Java настроена на открытие при загрузке апплета. Это жизненно важно для разработки апплета. Настройте его на последней вкладке панели управления Java.

person Andrew Thompson    schedule 14.03.2012
comment
Это было так. Большое Вам спасибо. - person marxin; 15.03.2012