有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java关闭当前窗口并弹出上一个窗口(windowListener)

我有一个服务器/客户端应用程序。当系统启动时,会弹出一个登录窗口。当点击连接时,另一个JFrame(游戏框架)弹出。我想要的是: 当点击游戏框架上的“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;
    }
}

共 (1) 个答案

  1. # 1 楼答案

    不要终止这个过程。只需在这两个窗口上调用setVisible(),使其可见或根据需要隐藏