基本的に単一の単純なウィンドウを持つ Java SWING プログラムがあります。このウィンドウにはメニューと JPanel が含まれています。理想的には、メニューを使用して外部 jar ファイル (別の SWING プログラム) を選択し、それを実行したいと考えています。その後、jar はバックグラウンドで実行され、新しいウィンドウを独自に作成する代わりに、ウィンドウで JPanel を使用する必要があります。これは可能でしょうか?私の推測では、どうにかして JPanel を外部アプリケーションに「公開」または「利用可能にする」必要がありますが、これを行う方法がわかりません。単純なコード スニペットでさえ、非常に高く評価されます。どうもありがとう
質問する
457 次
1 に答える
1
Jar
アプリケーションで実行できるようにするには、カスタム クラス ローダーに外部をロードする必要があります。のようなものURLClassLoader
がトリックを実行できるはずです。
アプリケーションと外部 Jar は、通信できる共通の既知のインターフェイスを使用する必要があります。これにより、外部 jar をロードし、必要な「エントリ」クラスを見つけてロードし、実行することができます。
これinterface
により、通知/コールバック メカニズム (別名リスナー) の何らかの登録が提供されます。これは、アプリケーションが外部の「タスク」にアタッチでき、外部クラスが使用して変更の通知をアプリケーションに返すことができます。
可能であれば、必要以上に多くのアプリケーションを外部 Jar に公開することは避けてください。これにより、外部の Jar がアプリケーションをいじるリスク、または実際に気にする必要があるリスクが軽減されます...
必要に応じて、 Observer パターンとProducer/Consumer パターンのいずれかを使用できます
オブザーバー パターンの詳細
于 2013-08-28T01:34:16.717 に答える