Проблема загрузки JApplet - PullRequest
0 голосов
/ 21 апреля 2010

Я хочу преобразовать Java-приложение в апплет, но у меня возникли проблемы с загрузкой его в браузер. Я предполагаю, что это из-за пакета.


package com.applet;

import java.applet.Applet;

import javax.swing.JApplet;
import javax.swing.SwingUtilities;
//import javax.swing.JOptionPane;

@SuppressWarnings("serial")
public class AppletDriver extends Applet {

    //Called when this applet is loaded into the browser.
    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet's GUI.
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    CleanerPanel cFrame = new CleanerPanel();
                    add(cFrame); 
                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't complete successfully");
        }
    }
}

это код, который я использую для вызова апплета, когда я запускаю его в Eclipse, он работает. это HTML-код:

<applet archive="app.jar" code="bin/com/applet/AppletDriver.class" width=350 height=200>
</applet>

app.jar находится в главном каталоге проекта eclipse, есть предложения?

ошибка из Java-консоли браузера:

java.lang.NoClassDefFoundError: bin/com/applet/AppletDriver (wrong name: com/applet/AppletDriver)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception: java.lang.NoClassDefFoundError: bin/com/applet/AppletDriver (wrong name: com/applet/AppletDriver)

1 Ответ

1 голос
/ 21 апреля 2010

Удалите bin\ из начала значения атрибута code и используйте / вместо \ (мы больше не в Вашингтоне). Если банка находится в каталоге с именем bin, вам нужно использовать archive="bin/app.jar".

На самом деле, глядя на трассировку стека, банка была построена неправильно. Файл класса должен находиться в каталоге com/applet, а не bin/com/applet.

...