1

サーバー/クライアント アプリがあります。システムが起動すると、ログイン ウィンドウが表示されます。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;
    }
}
4

1 に答える 1

1

プロセスを終了しないでください。2 つのウィンドウを呼び出しsetVisible()て、必要に応じて表示または非表示にします。

于 2012-06-01T10:24:56.833 に答える