• 締切済み

JavaのSwingで別のフォームを閉じる方法

こんにちは。 JavaのSwingにおいて,以下のようなプログラムがあるとします。 その場合,A.javaでボタンを押すと,B.javaのフォームが閉じるようにしたいのですがどのようにしたらいいのでしょうか?よろしくお願いします。 ****A.java**** import ☆省略☆; public class A extends JFrame implements ActionListener{ //ボタン JButton end; public A(){ //フレームの設定 setVisible(true); setTitle("テスト"); //コンテナの設定 con = getContentPane(); //ボタン end = new JButton(" 終了 "); end.addActionListener(this); end.setActionCommand("end"); con.add(end); pack(); } public void actionPerformed(ActionEvent e){ String m = e.getActionCommand(); if(m == "end"){ ※ここに書くべき処理 } } } ****B.java**** import ☆省略☆; public class B extends JFrame{ //コンテナ Container con; public Answer(){ //フレームの設定 setVisible(true); setTitle("B"); //コンテナに関わる設定 con = getContentPane(); } }

みんなの回答

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 補足ありがとうございました。 AからBを開いているのであればbのインスタンスに対してsetVisible(false)を設定すればウィンドウは消えます。 JFrame bFrame; public A() { bFrame = new BFrame(); // AframeでBを表示 bFrame.setVisible ( true ); } public void actionPerformd ( ActionEvent e ) { String command = e.getActionCommand(); if ( "end".equals(command) ) { // endだったらBを閉じる bFrame.setVisible ( false ); } } ※文字列が同じかどうかの判断は==ではなくequalsですのでご注意を

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 AのFrameからBのFrameが参照できていないと閉じることが出来ないと思いますが、どのような関連性になっていますか?

hoshio1209
質問者

補足

返信遅れて申し訳ありません。 Aから、new B();でフォームを起動しているだけなのです。これではだめでしょうか?

関連するQ&A

専門家に質問してみよう