残念ながら、特定の整合性の理由で変更できないコマンドラインJavaプログラムがあります。このプログラムにGUIを提供していますが、プログラムが印刷されるときにプロセスの完了に関する通知をユーザーに提供できないことを除いて、すべてカバーされていますSystem.out.println() を使用してデータをコマンド ラインに変換します。ネット Bean を使用して UI を設計し、それは別のファイルにあるので、どうすればこれを行うことができますか..?
1 に答える
3
プログラムの実行にRuntime.execを使用していますか? 次に、次のように出力ストリームも取得できます。
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("java yourOtherProgram.jar");
InputStream stdin = proc.getInputStream();
メソッドを直接呼び出す場合は、次のように System.out をリダイレクトできます。
PrintStream out = ...;
PrintStream err = ...;
System.setOut(out);
System.setErr(err);
ThatOtherProgram foo = new ThatOtherProgram();
foo.main(new String[0]);
編集
その後、スキャナーを使用して入力をスキャンし、それに対して何かを行うことができます。
于 2012-08-06T15:31:29.430 に答える