gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:24 27 4
gpt4 key购买 nike

我有一个服务器/客户端应用程序。系统启动后,会弹出登录窗口。单击“连接”时,会弹出另一个 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;
}
}

最佳答案

不要终止该进程。只需在两个窗口上调用 setVisible() 即可根据需要使它们可见或隐藏。

关于java - 关闭当前窗口并弹出上一个窗口(windowListener),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com