重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

いま、Swingを使ってプログラムしているのですが、
あるウィンドウから別にウィンドウを作成して、
JButtonなどで新たにできたウィンドウだけを消したいと思っています。

ためしに、System.exit(0)をアクションリスナーに追加すると、
なぜかそのウィンドウを呼び出した方もすべて消えてしまいます。
(プログラム自体が終了する)
全てを終了したいのではなく、ある特定のウィンドウだけを消したいのです。
どうしたらいいのでしょうか?

今はこのようなプログラムをしています。

呼び出す側のプログラム
if(ある場合){
new TradeComerGUI(30,30,80,150);
//↑で新たなウィンドウを作成しています。
//中の数字は大きさなどです。

}
}

ここからは新しいウィンドウのアクションリスナー
ボタン(end)を押した時にこのウィンドウだけを消したい

public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand();

if(action.equals("End")){
constat.subRequesterNumber();
System.exit(0);
}

}

ここのSystem.exit(0)がおかしいのはわかるのですが、
なにをしたらいいのか分かりません。
よろしくお願いします。

A 回答 (1件)

その消したいウィンドウを仮にaFrameとすると、


アクションリスナーの中でSystem.exit(0);のかわりに

aFrame.setVisible(false);
aFrame.dispose();

を指定してください。
(場合によっては、アクションリスナに消したいウィンドウへの
参照を与えるのが面倒かもしれませんが、工夫してください。)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!