1

I wrote such code today:

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

Can anyone tell, why it works in Applet viewer, not in browser? Was working before i used MigLayout. The html code im using is:

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

I were looking in various places, but i cant find solution for that.

Thanks in advance, Marcin

4

1 に答える 1

2

代わりに、このバージョンの HTML を試してください。「nn」を、使用されている 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 コントロール パネルの最後のタブで設定します。

于 2012-03-14T20:31:01.837 に答える