que libreria ejemplos componentes caracteristicas java html jar applet classnotfoundexception

libreria - que es awt en java



load: clase MyApplet no encontrada: java.lang.ClassNotFoundException. ¿Por qué estoy obteniendo esto, cuando el archivo de clase está allí en el paquete? (2)

Obtengo la siguiente excepción cuando intento ejecutar el applet:

load: class MyApplet not found. java.lang.ClassNotFoundException: MyApplet at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.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) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.HttpURLConnection.getResponseCode(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 9 more Exception: java.lang.ClassNotFoundException: MyApplet

código de applet:

import javax.swing.*; import java.awt.*; public class MyApplet extends JApplet { public JFrame frame; public JPanel panel; public JButton button; public void init() { frame = new JFrame(); panel = new JPanel(); button = new JButton("click me "); panel.setBackground(Color.RED); panel.add(button); frame.add(panel); frame.setSize(300,300); frame.setVisible(true); } }

código HTML :

<applet code="MyApplet" codebase="AppletPackage" archive="JAR.jar" height="800" width="800">

El archivo JAR.jar contiene un paquete Appletpackage y este paquete contiene un archivo de clase llamado MyApplet.class

¿Por qué recibo esta excepción? ¿He cometido el error?


El parámetro de archive se resuelve en relación con el parámetro de codebase . Entonces, en su caso, el complemento buscará un archivo MyApplet.class incluido en un archivo AppletPackage/JAR.jar .

Debe cambiar esto a lo siguiente:

<applet code="AppletPackage.MyApplet" archive="JAR.jar" height="800" width="800">

Esto se resolverá en AppletPackage/MyApplet.class dentro de JAR.jar en el mismo directorio que el archivo HTML.


Este es un intento de abordar el mensaje de error informado en un comentario a mi primera respuesta:

java.lang.NoClassDefFoundError: AppletPackage/MyApplet (wrong name: MyApplet)

Al mirar las fuentes , veo que este mensaje de error de "nombre incorrecto" es una indicación de una falta de coincidencia entre el nombre del archivo y el nombre de la clase. Usted afirma que su clase está dentro de AppletPackage , y el nombre de archivo AppletPackage/MyApplet.class ajusta a eso. Pero el código fuente que citó arriba no contiene una línea

package AppletPackage;

Debe agregar esa línea, para que el archivo de clase contenga el nombre completo de la clase. Entonces deberías poder cargarlo.