我试图用反射从罐子里调出一个秋千面板 这是代码
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中,虽然我可以在没有反射的情况下执行此操作,但我不知道如何使用它。
答案 0 :(得分:0)
coolUI.coolUI()
是构造函数,因此Class.getMethod("coolUI")
会抛出NoSuchMethodException
。
要使其成为方法,必须添加返回类型
public void coolUI() {
//swing code here ( made by windowbuilder )
}
答案 1 :(得分:0)
我认为你是在动态地做这件事,对吗? 如果是这样,你应该使用.getConstructor()而不是getMethod()。
像这样:
cons = class.getConstructor();