我无法弄清楚,如果用户从GUI中选择文件,如何使用getDeclaredMethods()(反射)。
inFile是文件类型,当用户从GUI中选择文件时,我会得到它。
public static void read_file_methods () {
Class in_class= inFile.getClass();
Method[] methods = in_class.getDeclaredMethods();
....
}
我无法获取输入文件的类,只是对象的,但如何从输入中获取对象? 我不能使用MyProgram m = new MyProgram(); ......并且不知道如何使用.newInstance()来工作。
“我想从输入文件中获取声明的方法,然后在我的GUI中列出它们。用户可以选择txt或java文件,当他/她这样做时,程序将从中获取方法(如果有的话)并将它们列在jList上。如果我知道对象的名称,则可以工作,但如果知道对象的名称则不行。“
答案 0 :(得分:0)
这就是你问的问题吗?
URLClassLoader loader = URLClassLoader.newInstance(new URL[]{fileName.toURI().toURL()}); //This code creates a new URLClassLoader based on the file that you define
Class<?> clazz = loader.loadClass("ClassName"); //This loads the class with the given name
for(Method m: clazz.getDeclaredMethods()) { //This code will print the names of every method in the class
System.out.println(m.getName());
}
从这里,您可以将所有方法名称添加到JList或用于显示方法的任何UI元素。