我有一个服务器/客户端应用程序。系统启动时会弹出一个登录窗口。当点击连接时 - 另一个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;
}
}
答案 0 :(得分:1)
不要终止该过程。只需在两个窗口上调用setVisible()
即可使其可见或根据需要隐藏它们。