反射的NoSuchMethod异常

时间:2017-11-08 20:34:57

标签: java reflection windowbuilder

我试图用反射从罐子里调出一个秋千面板 这是代码

public class coolUI extends JPanel{

public coolUI{

   //swing code here ( made by windowbuilder )

 }
}

以下是我用来从

调用它的代码
String className = "plugins.plugin1.coolUI";
Class UI = cl.loadClass(className);         
Method theUI = UI.getMethod("coolUI");
Object a = UI.newInstance();
theUI.invoke(a, null);

我在这里要做的是加载一个jar,并将jar中的UI附加到tabbedpane中,虽然我可以在没有反射的情况下执行此操作,但我不知道如何使用它。

2 个答案:

答案 0 :(得分:0)

coolUI.coolUI()是构造函数,因此Class.getMethod("coolUI")会抛出NoSuchMethodException

要使其成为方法,必须添加返回类型

public void coolUI() {
    //swing code here ( made by windowbuilder )
}

答案 1 :(得分:0)

我认为你是在动态地做这件事,对吗? 如果是这样,你应该使用.getConstructor()而不是getMethod()。

像这样:

cons = class.getConstructor();