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

如何等待JFrame关闭才能继续?

司空叶五
2023-03-14
问题内容

我的程序包括3个主要的“部分”。主要功能,登录表单和应用程序表单。主要功能应执行以下操作:打开“登录”表单,等待其关闭,然后打开“应用程序”表单。我无法让等待的部分开始工作,或者更确切地说,我不知道该怎么做。

有人告诉我改用JDialog并使用setModal(true),但是用这种方法,登录表单不会出现在任务栏上,我认为这很糟糕。

我考虑的另一件事是在登录关闭后从“登录”内部打开该应用程序,但这感觉设计不好,因为这会使“登录”表单不可重用。

所以,请问您有什么建议?


问题答案:
  • 为什么登录名必须出现在任务栏上,因为主应用程序将在其中,并且您不希望单个程序有多个任务栏项。最好的选择可能是使用模式JDialog。
  • 另一种选择是使用CardLayout交换“视图”。
  • 第三种选择是,如果必须将JFrame附加到它的监听器(我相信是WindowListener)以响应其close事件,则可以使用JFrame。
  • 无论走哪条路,登录gui都应该是JPanel,这样您就可以将其放置在所需的任何位置,然后稍后再改变主意。


 类似资料:
  • 问题内容: 嗨,我正在使用for循环和异步ajax调用为本地存储创建批处理更新。 我的问题是,即使我的ajax调用仍未成功完成,我的循环仍会继续。 在继续循环之前,我们如何设法使循环等待单元响应ajax响应? 任何帮助表示赞赏。谢谢!!! 下面是我的示例代码: 问题答案: 请不要使用“ for循环”。而是在成功回调中增加计数器并重新触发自身。像下面这样。

  • 我在ExecutorService中有一些可运行的线程,希望在以下时间后加入线程: 因为它在Runnable中调用自己,所以我不能关闭,因为它可能会阻止自己创建新任务。 如何在不关闭的情况下等待所有线程完成?有没有办法返回一个未来,这样我就可以使用未来::get()。

  • 问题内容: 我有一个框架,并想在用户关闭它时提示以保存文档。但是,如果它们取消,则框架不应关闭。 FileState查看文档是否脏了。如果不是,则不执行任何操作并返回true。如果脏了,它会询问用户是否要保存(是/否/取消)。如果用户此时取消,则应中止windowClosing。 我在网上看到的所有建议都涉及显式退出windowClosing方法,从而覆盖JFrame.setDefaultClos

  • 问题内容: 在JFrame中,当我单击“登录”时,我弹出另一个Jframe,即登录窗口。 在执行其他操作之前,如何使主Jframe等待登录Jframe退出? 问题答案: 只需使用模式对话框代替框架即可,这样在关闭对话框之前您无法做其他任何事情 有关说明,请参见http://mindprod.com/jgloss/modal.html;有关代码示例,请参见http://www.java2s.com/

  • 问题内容: 我有一个登录框架,我必须从另一个线程等待。成功登录后,框架将自行处置。我想弹出该应用程序的主框架。现在,我正在观看一个布尔值,以确定何时启动主机。正确的做法是什么?观看布尔值只是感觉并不优雅。 问题答案: 如果您有Java 5或更高版本,则可以使用CountDownLatch。例如,假设主框架最初处于控制状态,则让主框架创建一个倒数为1的,然后将此锁存器传递给登录框架。然后让主机等待锁

  • 问题内容: 我有一个使用一些异步功能的节点应用程序。 在继续进行其余的应用程序流程之前,我该如何等待异步功能完成? 下面有一个简单的示例。 在示例中,要返回的元素“ ”必须为5而不是1。如果应用程序不等待异步功能,则等于1。 谢谢 问题答案: 使用回调机制: 使用异步等待