0

クラスに別のクラスを聴かせる方法を理解しようとしています。これがアイデアです。

タイプ JPanel の引数をMainFrame取る単純なコンテナー クラス、JFrame コンテナーであるクラスがあります。基本的に、このコンテナ クラスは、他のクラスに応じてフレームを切り替えることができるようにしたいFrameSwitcherと考えています。

他のクラスは次のとおりFrameSwitcher, MainMenu and ScoreBoardsです。

たとえばMainMenu、 には 4 つのボタンが含まれ、それぞれがリッスンしますが、フレームは変更されません。むしろ、どういうわけか-これは私が助けを必要としている部分です-FrameSwitcherクリックされたボタンに送信され、この情報はMainFrame適切なフレームに切り替えるために送信されます。

4

2 に答える 2

3

ここで議論されているオブザーバーパターンを探しているかもしれません。特に、ここに示されているは、疎結合への有用なアプローチである可能性があります。PropertyChangeListener

また、 How to Use ActionsおよびHow to Use CardLayoutで提案されているように、各ビューActionで a から自身を選択する をエクスポートできるようにすることも検討してください。CardLayout

于 2013-03-16T10:08:05.310 に答える
2

FrameSwitcherActionListenersメニューに追加し続ける必要があります。クリックすると状態が変化し、メインフレームのメソッドを呼び出しますswitchTo(argumentWhereToSwitch);

于 2013-03-16T07:51:05.587 に答える