繁体   English   中英

我如何关闭框架却又打开新框架?

[英]how do i close a frame yet open a new frame?

我如何关闭框架却又打开新框架?

我有一个框架,(帮助)

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

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

我知道这会关闭整个程序,但是我如何才能只关闭当前帧

谢谢

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

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

如果扩展了Frame并尝试从其内部关闭它,请使用this.disposethis.setVisible(false)

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

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

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

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

假设您是这样创建框架的:

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

尝试像这样为JFrame设置默认的关闭操作。

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM