Java文件输入使用GUI获取方法

时间:2012-11-03 17:11:25

标签: java reflection

我无法弄清楚,如果用户从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上。如果我知道对象的名称,则可以工作,但如果知道对象的名称则不行。“

1 个答案:

答案 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元素。