質問: 現在、CardLayoutでcard1上のラベルをクリックすると、 card2に表示を切り替えるという簡単なGUIを作成しています。 このcard2への切り替えの際に、クリックされたラベルの背景色でcard2のパネルの色を変更したいのですが、 card1が表示された状態でcard2上のコンポーネントを操作する方法がわからず行き詰っています。 恐れ入りますがどなたかご助言を頂けないでしょうか。
回答: LabelMouseListener の mouseClicked(MouseEvent e) 内で card2のJLabelが見えれば(参照できれば)、JLabel.setBackGrouund(Color c)で変更できる。 具体的には ColorSelectの private JPanel cardPanel; の下に JLabel lbl; を追加 JLabel lbl = new JLabel("Test fields on Card2", JLabel.CENTER); を lbl = new JLabel("Test fields on Card2", JLabel.CENTER); に変更 LabelMouseListenerの cl.show(cardPanel, "card2"); の前に lbl.setBackground(lb.getBackground()); とすれば目的の動作になっていると思う Eclipceで動かしてみて確認した。