如何关闭一个框架然后打开一个新框架?
我有一个框架,(帮助)
当我点击我的菜单项时 我想打开(mainForm) 退出帮助。
new mainForm().setVisible(true);
System.exit(0);
我知道这会关闭整个程序但是如何让它关闭当前帧
感谢
答案 0 :(得分:6)
如果您不想再使用相框,可以使用frame.dispose()
如果您只想隐藏它,请使用frame.setVisible(false)
。
如果你扩展了一个框架并尝试在使用this.dispose
或this.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,在触发窗口关闭事件时执行所需的操作。