- 締切済み
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(); } }
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 補足ありがとうございました。 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)
こんにちは。 AのFrameからBのFrameが参照できていないと閉じることが出来ないと思いますが、どのような関連性になっていますか?
補足
返信遅れて申し訳ありません。 Aから、new B();でフォームを起動しているだけなのです。これではだめでしょうか?