1

私のプログラムにはいくつかのクラスがありますが、今のところ、GUI とロジックの 2 つだけを気にする必要があります。

GUI クラスは Logics クラスに委譲します。

Logics logics = new Logics();

これは、GUI クラスが Logics クラスにあるメソッドを呼び出せるようにするためです。

しかし今は、GUI のメソッドを Logics クラスから呼び出すことも必要です。具体的には、特定の条件 (Logics クラスでチェックされている) が満たされたときに、Logics が GUI クラス (JDialog) のポップアップ ボックスを表示できるようにしたいと考えています。

どうすればこれを行うことができますか?Logics から GUI にデリゲートできません。オーバーフローが発生するためです (前後に無限にデリゲートします)。

誰か提案はありますか?:)

-ありがとう

4

2 に答える 2

2

おそらく、Logics クラスにダイアログを表示するためのサービスを与えることができます。GUI クラスは、ダイアログを表示するためのメソッドを定義する DialogService (またはその他のもの) と呼ばれるインターフェイスを実装できます。次に、次のように呼び出すことができます。

Logics logics = new Logics(this); 

Logics クラスが GUI クラスに直接アクセスする必要はありません。

于 2012-10-15T14:08:00.580 に答える
0

ロジックと GUI の両方のクラスのオブジェクト図を設計します。

次に、オブジェクトがどのインターフェースを介してそれぞれとどのように相互作用するかを理解する必要があります。そして、オブジェクト同士の関係は何ですか。オブジェクト合成のコンテキストで、集計合成を調べてください。

于 2012-10-15T14:10:38.053 に答える