質問: Swingによるプログラム作成初心者です。 SwingでGUIプログラムを作成し、ボタンをクリックすると、GUIで入力した値を引数として Jarプログラムを呼び出すという処理を作成しようと考えているのですが、そのようなことは可能なのでしょうか?
回答: もっとも単純な方法は、`Process`クラスを使って新しいプロセスをコマンドを叩くような感覚で実行する方法です。 昔は`Runtime.exec`メソッドを使う方法でしたが、比較的新しいJavaでは、`ProcessBuilder`と組み合わせて使うのが良いです。 Process (Java Platform SE 8 ) この方法では、起動したプロセスを管理する点において、少し面倒かも知れません。 親プログラムを終了したときに子プログラムも終了させるような場合、子プログラムは自動的には終了しません。 ... `URLClassLoader`を使う方法もあります。 URLClassLoader (Java Platform SE 8 ) こちらは、動的にクラスパスにJarやクラスファイルを追加して実行するイメージです。 実行したいクラスの`main`メソッドを呼べば、コマンドラインから実行したのと似たような感覚で実行できます。 こちらの方式であれば`main`メソッドにこだわる必要はありません。 この方式は、親プログラムと同じJavaプロセス上で実行されるので、`System.exit(0)`などでプログラムを終了すれば、子プログラムも自動的に終了します。 あと、こちらの方式は呼び出すコードに多少のリフレクションが必要になります。