How do i load a plugin class with Java? -


i made small application loads classes folder, displays them in list , when click on 1 displays jpanel in it.

so made api class (baseapp) extends jpanel. made test class extends baseapp , uses apis in it.

now, problem every time click on testapp, gives me exception...

exception in thread "awt-eventqueue-0" java.lang.classcastexception: java.lang.class     cannot cast me.delocaz.superapp.baseapp @ me.delocaz.superapp.appselect$2.mouseclicked(appselect.java:76) @ java.awt.awteventmulticaster.mouseclicked(unknown source) @ java.awt.component.processmouseevent(unknown source) @ javax.swing.jcomponent.processmouseevent(unknown source) @ java.awt.component.processevent(unknown source) @ java.awt.container.processevent(unknown source) @ java.awt.component.dispatcheventimpl(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.lightweightdispatcher.retargetmouseevent(unknown source) @ java.awt.lightweightdispatcher.processmouseevent(unknown source) @ java.awt.lightweightdispatcher.dispatchevent(unknown source) @ java.awt.container.dispatcheventimpl(unknown source) @ java.awt.window.dispatcheventimpl(unknown source) @ java.awt.component.dispatchevent(unknown source) @ java.awt.eventqueue.dispatcheventimpl(unknown source) @ java.awt.eventqueue.access$000(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.awt.eventqueue$3.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.awt.eventqueue$4.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.security.protectiondomain$1.dointersectionprivilege(unknown source) @ java.awt.eventqueue.dispatchevent(unknown source) @ java.awt.eventdispatchthread.pumponeeventforfilters(unknown source) @ java.awt.eventdispatchthread.pumpeventsforfilter(unknown source) @ java.awt.eventdispatchthread.pumpeventsforhierarchy(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.pumpevents(unknown source) @ java.awt.eventdispatchthread.run(unknown source) 

i have tried cast class got classloader baseapp. how do without crashing?

if need it, here's fileclassloader:

package me.delocaz.superapp; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.ioexception; public class fileclassloader extends classloader {     public class<?> findclass(file f) {         byte[] b = loadclassdata(f);         try {         return defineclass(null, b, 0, b.length);         } catch (classformaterror ex) {         return null;         }     }     private byte[] loadclassdata(file f) {         fileinputstream fin;         byte filecontent[] = new byte[(int)f.length()];         try {             fin = new fileinputstream(f);             fin.read(filecontent);         } catch (filenotfoundexception e) {             e.printstacktrace();         } catch (ioexception e) {             e.printstacktrace();         }         return filecontent;     } } 

also, casting occurs:

object c = cl.findclass(new file(***class file location***)); system.out.println(c); switchapp((baseapp) c); 

an instance of type class not instance of type baseapp, conversion fails. need instantiate class instance of type baseclass, can cast

try calling newinstance() on class instance new instance of loaded class (based on default constructor)


Comments

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -