带有反射的 NoSuchMethod 异常
NoSuchMethod exception with Reflection
我正在尝试使用反射从 jar 调用 swing 面板
这是代码
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);
我想在这里做的是加载一个罐子,并将罐子里的 UI 附加到一个选项卡窗格中,虽然我可以不加思考地做到这一点,但我不知道该怎么做有了这个。
coolUI.coolUI()
是构造函数,因此 Class.getMethod("coolUI")
抛出 NoSuchMethodException
.
要使其成为方法,必须添加 return 类型
public void coolUI() {
//swing code here ( made by windowbuilder )
}
我认为您正在动态地执行此操作,对吗?
如果是这样,您应该使用 .getConstructor() 而不是 getMethod()。
像这样:
cons = class.getConstructor();
我正在尝试使用反射从 jar 调用 swing 面板 这是代码
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);
我想在这里做的是加载一个罐子,并将罐子里的 UI 附加到一个选项卡窗格中,虽然我可以不加思考地做到这一点,但我不知道该怎么做有了这个。
coolUI.coolUI()
是构造函数,因此 Class.getMethod("coolUI")
抛出 NoSuchMethodException
.
要使其成为方法,必须添加 return 类型
public void coolUI() {
//swing code here ( made by windowbuilder )
}
我认为您正在动态地执行此操作,对吗? 如果是这样,您应该使用 .getConstructor() 而不是 getMethod()。
像这样:
cons = class.getConstructor();