java web applet invocationtargetexception

Cómo solucionar/solución alternativa java.lang.reflect.InvocationTargetException



web applet (2)

Sugiero que lea el Tutorial de desarrollo de Oracle Applet . No soy un experto en applets (¡eufemismo!) Pero parece que estás haciendo muchas cosas de manera diferente a como dice el Tutorial para hacerlas. Por ejemplo, no se usa un método main para iniciar un applet, y se debe hacer la configuración en el método init , no en el constructor (ver aquí ).

Tengo una pregunta sobre un error particularmente molesto que no he podido descifrar, y mucho menos superar. Cada vez que intento ejecutar un applet de Java (Applet o JApplet) en mi sitio web, aparece este error como una ventana emergente:

java.lang.reflect.InvocationTargetException

Sin seguimiento de pila, sin número de línea, solo el mensaje de error. Así que busqué en Google las soluciones alternativas de cualquier otra persona (o las soluciones ideales) pero no he podido encontrar mucho. He intentado varias variaciones de mi código (a veces con un archivo JAR, a veces no, a veces una sola clase, a veces no, a veces en un paquete que usa una estructura de directorio coincidente, a veces sin paquete, etc.) pero parece que no puedo superar este desagradable hijo de insecto. :)

Para un ejemplo específico, aquí está mi intento más reciente; primero el código de Java:

package cmtoolbox; public class CMToolbox { public static void main(String[] args) { MainApplet a = new MainApplet(); } }

La clase que establece:

package cmtoolbox; import javax.swing.JApplet; import javax.swing.JButton; public class MainApplet extends JApplet { public MainApplet() { JApplet main = new JApplet(); main.setSize(800,600); JButton test1 = new JButton(); test1.setText("Test"); main.add(test1); } }

Mi código HTML:

<html> <head> <title> Experimenting with Java applets </title> </head> <body> <p><applet code="CMToolbox.class" width="800" width="600"> I wish. :) </applet></p> </body> </html>

Supongo que tal vez porque la propia web puede tener tantas variables (sistemas operativos, tipos de navegadores, etc.) hay algo interno / a nivel del sistema causando esto ... pero tengo el JRE y el JDK instalados en mi computadora, así que realmente no entiendo por qué ... De todos modos, estoy seguro de que no soy el primero en llegar a este obstáculo, pero me tiene perplejo, así que agradecería cualquier información que pueda estar disponible sobre el tema. Además, si conoces algunos buenos tutoriales web de Java para noobs absolutos, también serían geniales. :)


InvocationTargetException 1 se lanza porque el HTML está llamando (intentando cargar) algo que no es un applet. Cambiarlo a:

<p><applet code="MainApplet" width="800" width="600"> </applet></p>

Además, como se menciona en la respuesta de Stephen C. Mueva las cosas del constructor al método init() .

  1. InvocationTargetException es una excepción comprobada que envuelve una excepción lanzada por un método o constructor invocado.

Asegúrese de que la Consola Java esté configurada para mostrar aplicaciones y aplicaciones JWS. Si no hay salida en el nivel predeterminado, levántelo y vuelva a intentarlo.

Mientras estoy aquí: ¿Por qué codificar un applet? Si se debe a una especificación por el maestro, remítelos a Por qué los maestros de CS deben dejar de enseñar los applets de Java .