6

最近SwingでModel-View-Controllerを実装しようとすると問題が発生しました。スイングでのビューとコントローラの結合を避ける方法

私はサブパネルで構成されたGUIクラスを持ち、それらのサブパネルは他のサブパネルで構成されています。これらのサブサブパネルの1つに、JButtonがあります。このJButtonのActionListenerでは、コントローラ内のメソッドを呼び出す必要があります。これを行うには、JButtonが存在するサブ・サブパネルにGUIの腸内にコントローラを深く通す必要があります。次に、このサブサブパネルでは、JButtonにActionListenerをアタッチし、コントローラで呼び出すメソッドを呼び出すことによってactionPerformed()を記入する必要があります。

問題がすべて表示されるはずです。コントローラをGUIの腸の中に深く通さないようにする良い方法はありますか?

私の唯一の考えは、コントローラをシングルトンから切り離すことでしたが、シングルトンは通常悪であると聞きました。

この問題に関するアドバイスをいただければ幸いです。前もって感謝します!代わりに、コントローラへの参照を渡すの

答えて

4

here描か間接関連によって示唆されるようにコントローラが、ビューに試聴できます。 PropertyChangeListenerを追加すると、hereと表示され、これには理想的です。ビューがコントローラを呼び出す必要があるときは、単にfirePropertyChange()を呼び出します。

さらに便利な方法は、コントローラに、reset()の方法のような特定の操作の別のビューを与えることです。here

関連する問題