当前位置: 首页 > 面试题库 >

关闭一个JFrame而不关闭另一个?

岳正阳
2023-03-14
问题内容

我想同时显示两个(或更多) JFrame
当我关闭其中一个(使用默认的关闭按钮)时,其他框架仍应可见。

我怎样才能做到这一点?


问题答案:

如果您 希望应用程序在a JFrame关闭时终止,请使用

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)

代替

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

从文档中:

  • DO_NOTHING_ON_CLOSE(在WindowConstants中定义):不执行任何操作;要求程序处理注册的WindowListener对象的windowClosing方法中的操作。
  • HIDE_ON_CLOSE (在WindowConstants中定义):调用任何已注册的WindowListener对象后自动隐藏框架。
  • DISPOSE_ON_CLOSE (在WindowConstants中定义):调用任何已注册的WindowListener对象后,自动隐藏和处置框架。
  • EXIT_ON_CLOSE(在JFrame中定义):使用系统退出方法退出应用程序。仅在应用程序中使用它。

这是我在问题明确之前的答案,可能仍然有用:

如果要再次显示相同的帧,可以setVisible(false)在上使用JFrame
否则,调用dispose()以删除所有本机屏幕资源。



 类似资料:
  • 我想从class1调用class2,但是class2没有一个可以引用的主函数,比如

  • 问题内容: 我试图将我的应用程序中较大且经常使用的部分重构为单独的方法,以使其易于维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了Scanner和System.in,但是当我关闭Scanner时,我也关闭了System.in。 所以我的问题是,我只能通过用CloseShieldInputStream屏蔽System.in来防止System.in关闭,还是应该开始将Scanner传递给方

  • 我试图将应用程序中大量且经常使用的部分重新划分为不同的方法,以使其更容易维护。 其中一些方法要求用户输入并进行输入验证,因此我使用了扫描仪和系统。但当我关闭扫描仪时,我也会关闭系统。在里面 所以我的问题是,我只能阻止系统。通过使用CloseShieldInputStream屏蔽它来关闭,还是我应该开始向方法传递一个扫描器?

  • 问题内容: 我想知道是否有一种方法,通过单击“ X”,让程序在关闭JFrame之前执行一些代码。该方法仅使用整数。 问题答案: 您可能对使用感兴趣。本教程。

  • 我有一个带有登录名(JPanel)的JFrame,可以从菜单栏中选择。菜单栏还根据用户角色显示选项。当用户第一次登录创建的JFrame实例时,当我在菜单栏上选择login并在new JFrame上实例化时,我的问题就出现了,因为我显然打开了两个JFrame,我找不到从JPanel隐藏或关闭之前JFrame的方法。在实例化新JFrame或任何其他可能的解决方案之前,有没有办法隐藏/处理所有打开的窗口

  • 我正在做一个实验2D物理的个人项目。现在,我正在尝试设置JFrame,以便它每秒更新60次。但是,当我调用方法开始更新JFrame时,我不能关闭JFrame。但是如果我省略了调用方法的部分,我可以关闭JFrame。这是主要代码: 这是Frame的代码: 如果我不在start()中调用updater(),我可以关闭JFrame。我知道我离开running=true,但它仍然应该关闭,因为这在我的旧计