我的程序具有以下结构:外部类MainWindow
,内部类LoginWindow
和私有JFrame
成员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
,一切都关闭了。为什么会这样?为什么关闭私有JFrame成员不关闭MainWindow,而关闭其内部类的对象却关闭所有窗口呢?我将如何使关闭LoginWindow不会关闭其他两个窗口(关闭MainWindow仍会关闭所有窗口)。
我将如何使关闭LoginWindow不会关闭其他两个窗口(关闭MainWindow仍会关闭所有窗口)。
LoginWindow不应是JFrame,而应是模式JDialog。当它关闭时,这不会停止Swing事件线程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句