サーバー/クライアント アプリがあります。システムが起動すると、ログイン ウィンドウが表示されます。Connect をクリックすると、別の JFrame (Game フレーム) が飛び出します。私が欲しいのは、ゲームフレームの「X」をクリックすると、現在のユーザーのゲームが停止し、ログインウィンドウが再びポップアウトすることです。
つまり、「X」をクリックすると、現在のプロセスを終了し、ウィンドウを閉じて前のウィンドウをポップアウトします。残っているのは、「windowClosing()」メソッドを実装することだけですが、方法がわかりません。ここに私が持っているものがあります:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class GameplayFrame extends JFrame {
private GECanvas canvas;
public GameplayFrame() {
super("BattleCity");
canvas = new GECanvas();
getContentPane().setLayout(new BorderLayout());
canvas.setPreferredSize(new Dimension(600, 600));
getContentPane().add(canvas, BorderLayout.CENTER);
setResizable(false);
pack();
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int x = (dim.width - getSize().width) / 2;
int y = (dim.height - getSize().height) / 2;
setLocation(x, y);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new NaBabaMiShortite());
}
private class NaBabaMiShortite extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
// TO-DO
}
}
public GECanvas getCanvas() {
return canvas;
}
}