Java摇摆。 如何等待其他Jframe

在JFrame中,当我点击“登录”时,我会弹出另一个Jframe,即登录窗口。

在做其他任何事情之前,我如何让我的主Jframe等待我的登录Jframe退出?

只需使用modal dialog而不是框架,这样在关闭之前你就无法做任何其他事情

有关说明,请参阅http://mindprod.com/jgloss/modal.html ,有关代码示例,请参阅http://www.java2s.com/Tutorial/Java/0240__Swing/ASimpleModalDialog.htm

如果你坚持使用JFrame,你可以通过玻璃框架覆盖另一个框架来使用解决方法..不是太好的解决方案,我承认..

我同意modal dialog在这里是最好的选择,但如果我以更一般的forms回答这个问题,请说:

如何让一个JFrame等待另一个JFrame?

我想说实现这一目标的最简单方法是注册和触发事件监听器。

  • 在“子”框架中,将“主”框架注册为事件侦听器。
  • 在你的“主”框架中,
    • 实现您对侦听器的选择,例如ActionListener
    • 在侦听器调用的方法中,例如actionPerformed ,对处理在“子”帧中可以响应的每个动作上发生的事情的逻辑进行编码。

人们可以很容易地在很多情况下实现这一点,包括问题中描述的登录场景。

使用JModalFrame而不是JFrame。