gpt4 book ai didi

Java Swing : Inner JFrame class closes main window on close

转载 作者:行者123 更新时间:2023-12-02 03:23:21 26 4
gpt4 key购买 nike

我的程序结构如下:外部类 MainWindow ,内部类LoginWindow和私有(private)JFrame成员(member)z ;

class MainWindow extends JFrame
{
private JFrame z;

class LoginWindow extends JFrame
{...}
public LoginWindow makeLogin()
{
return new LoginWindow();
}

MainWindow()
{
...
z=new JFrame();
z.setVisible(true);
}

}

public class GUI
{
public static void main(String[] args)
{
MainWindow mainWindow=new MainWindow();
mainWindow.setVisible(true);

MainWindow.LoginWindow loginWindow=mainWindow.makeLogin();
loginWindow.setVisible(true);

}

}

main方法返回三个窗口。当我关闭时z仅窗口 z关闭。但是当我关闭MainWindow/LoginWindow ,一切都停止了。为什么会发生这种情况?为什么关闭私有(private) JFrame 成员不会关闭 MainWindow,而关闭其内部类对象会关闭所有内容?我该如何做才能关闭 LoginWindow 不会关闭其他两个窗口(而关闭 MainWindow 仍会关闭所有内容)。

最佳答案

How would I make so that closing the LoginWindow doesn't close the other two (while closing the MainWindow still closes everything).

LoginWindow 不应该是 JFrame,而应该是模态 JDialog。这不会在 Swing 事件线程关闭时停止它。

关于Java Swing : Inner JFrame class closes main window on close,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321530/

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