2

如果用户从 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 文件,当他/她这样做时,程序将从这里获取方法(如果有“

4

1 回答 1

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 元素中。

于 2012-11-03T19:24:50.060 回答