3

基本的に単一の単純なウィンドウを持つ Java SWING プログラムがあります。このウィンドウにはメニューと JPanel が含まれています。理想的には、メニューを使用して外部 jar ファイル (別の SWING プログラム) を選択し、それを実行したいと考えています。その後、jar はバックグラウンドで実行され、新しいウィンドウを独自に作成する代わりに、ウィンドウで JPanel を使用する必要があります。これは可能でしょうか?私の推測では、どうにかして JPanel を外部アプリケーションに「公開」または「利用可能にする」必要がありますが、これを行う方法がわかりません。単純なコード スニペットでさえ、非常に高く評価されます。どうもありがとう

4

1 に答える 1

1

Jarアプリケーションで実行できるようにするには、カスタム クラス ローダーに外部をロードする必要があります。のようなものURLClassLoaderがトリックを実行できるはずです。

アプリケーションと外部 Jar は、通信できる共通の既知のインターフェイスを使用する必要があります。これにより、外部 jar をロードし、必要な「エントリ」クラスを見つけてロードし、実行することができます。

これinterfaceにより、通知/コールバック メカニズム (別名リスナー) の何らかの登録が提供されます。これは、アプリケーションが外部の「タスク」にアタッチでき、外部クラスが使用して変更の通知をアプリケーションに返すことができます。

可能であれば、必要以上に多くのアプリケーションを外部 Jar に公開することは避けてください。これにより、外部の Jar がアプリケーションをいじるリスク、または実際に気にする必要があるリスクが軽減されます...

必要に応じて、 Observer パターンProducer/Consumer パターンのいずれかを使用できます

オブザーバー パターンの詳細

于 2013-08-28T01:34:16.717 に答える