Код апплета работает в AppletViewer (eclipse), а не в браузере - PullRequest
1 голос
/ 14 марта 2012

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

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>

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

Заранее спасибо, Marcin

1 Ответ

2 голосов
/ 15 марта 2012

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

...