如何关闭一个框架然后打开一个新框架?

时间:2009-12-17 12:32:09

标签: java swing

如何关闭一个框架然后打开一个新框架?

我有一个框架,(帮助)

当我点击我的菜单项时 我想打开(mainForm) 退出帮助。

new mainForm().setVisible(true); System.exit(0);

我知道这会关闭整个程序但是如何让它关闭当前帧

感谢

5 个答案:

答案 0 :(得分:6)

如果您不想再使用相框,可以使用frame.dispose()

如果您只想隐藏它,请使用frame.setVisible(false)

如果你扩展了一个框架并尝试在使用this.disposethis.setVisible(false)内关闭它。

答案 1 :(得分:3)

你应该重新考虑你的要求。对于用户来说,最好同时显示程序和帮助窗口。在显示帮助屏幕时关闭主窗口,反之亦然真的,非常糟糕的可用性 - 你不应该这样做。我们已经有近30年的基于窗口的GUI了 - 同时在屏幕上显示几个窗口就是他们的目标!

答案 2 :(得分:1)

我认为你应该用setVisible(false)隐藏你不希望显示的帧。 System.exit(0)停止JVM结束整个程序。

简而言之,setVisible的语义与启动/停止应用程序无关。

如果要启动一个全新的应用程序,则必须查看Runtime.exec()。我真的不知道你是否可以用exit()关闭父进程(帮助应用程序)。

答案 3 :(得分:1)

假设你创建了你的框架:

 JFrame mainframe = new JFrame("Radio Notes");
//show Frame
mainframe.setVisible(true);
//close the frame  
mainframe.dispose();

答案 4 :(得分:0)

尝试设置JFrame的默认关闭操作,如此。

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

然后实现WindowListener,在触发窗口关闭事件时执行所需的操作。