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 に答える