• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:現在JAVA+SWINGでGUIアプリケーションを作成しています。)

JAVA+SWINGでGUIアプリケーションを作成中。パネル切替の独立したクラスの記述方法について

このQ&Aのポイント
  • 現在JAVA+SWINGでGUIアプリケーションを作成中。JPanelのレイアウトマネージャーCardLayoutを使用し、パネルの切り替え機能を実装中。
  • 現在は一つのメインclassにすべてのパネルのパラメーターを記述しているが、オブジェクト指向に沿ったクラスの組み合わせで実装したい。
  • しかし、子classのActionイベントで親のパネルに指示を出す方法がわからない状況。実装方法についてアドバイスを求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こんにちは。  要するに、mainFrame への参照がなくて困るということですよね。  参照を渡してあげればいいんじゃないでしょうか。 class SubPanel01 extends JPanel {   MainFrame frame;   public SubPanel(MainFrame frame) {     this.frame = frame;   }   ・・・ }  で、ボタンのアクションリスナーでは、 public void actionPerformed(ActionEvent e) {   frame.mainPanel.cardLayout.next(frame.mainPanel); }  なんか、こんな感じで・・・。  もし、SubPanel01 を、もっと汎用性の高い独立したコンポーネントにしたいのなら、これじゃだめですが、単に構成管理を簡略化したいだけなら、これで十分なんじゃないですかね。

casualbaby
質問者

お礼

ご助言ありがとうございます。 なるほどFrame自体の参照をsubPanelに投げてやるということですね。 早速実行してみます。

すると、全ての回答が全文表示されます。

関連するQ&A