applet - Appletviewer throws java.lang.NoClassDefFoundError exception -
i want run applet in appletviewer. project directory has following structure:
/home/sanctus/workspace/appletdocumentloader/bin/com/examples/ti
appletdocumentloader project, in /bin/com/examples/ti 3 class files , html file ie. in same directory.
my src class
package com.examples.ti; import java.applet.appletcontext; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.lang.reflect.invocationtargetexception; import java.net.malformedurlexception; import java.net.url; import javax.swing.japplet; import javax.swing.jbutton; import javax.swing.jlabel; import javax.swing.swingutilities; public class applet extends japplet { private static final long serialversionuid = -8756947240188460854l; public void init() { try { swingutilities.invokeandwait(new runnable() { @override public void run() { jlabel label = new jlabel("hello world"); add(label); jbutton opendocument = new jbutton(); opendocument.settext("button"); opendocument.addactionlistener(new actionlistener() { @override public void actionperformed(actionevent e) { system.out.println("button clicked"); appletcontext appletcontext = getappletcontext(); try { appletcontext .showdocument( new url( "http://www.google.com"), "_self"); } catch (malformedurlexception e1) { e1.printstacktrace(); } } }); add(opendocument); } }); } catch (invocationtargetexception | interruptedexception e) { e.printstacktrace(); } } } my html file
<!doctype html> <html> <head> <title>hi there</title> </head> <body> page simple page </body> <applet code="applet.class" archive="applet.jar" width=350 height=350> </applet> </html> and error get:
sanctus@sanctus-desktop:~$ appletviewer '/home/sanctus/workspace/appletdocumentloader/bin/com/examples/ti/index.html' java.lang.noclassdeffounderror: applet (wrong name: com/examples/ti/applet) @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclass(classloader.java:760) @ java.security.secureclassloader.defineclass(secureclassloader.java:142) @ sun.applet.appletclassloader.findclass(appletclassloader.java:217) @ java.lang.classloader.loadclass(classloader.java:424) @ sun.applet.appletclassloader.loadclass(appletclassloader.java:152) @ java.lang.classloader.loadclass(classloader.java:357) @ sun.applet.appletclassloader.loadcode(appletclassloader.java:626) @ sun.applet.appletpanel.createapplet(appletpanel.java:799) @ sun.applet.appletpanel.runloader(appletpanel.java:728) @ sun.applet.appletpanel.run(appletpanel.java:378) @ java.lang.thread.run(thread.java:745)
the code parameter of applet tag should full name of java class, hence com.examples.ti.applet. see applet code tags , class files
Comments
Post a Comment