我正在创建一个 Java 桌面应用程序。在这个应用程序中,我有一张桌子。如果用户双击表格的行,则在另一个窗口[框架->查看框架]中查看相应的数据。用户最小化视图框架并选择表中的另一行。它再次在新窗口中打开[框架]。
如何避免多帧?我一次只想要一个视图帧。假设用户想要查看新数据,那么旧视图框架将退出,新视图框架将打开。
我正在创建一个 Java 桌面应用程序。在这个应用程序中,我有一张桌子。如果用户双击表格的行,则在另一个窗口[框架->查看框架]中查看相应的数据。用户最小化视图框架并选择表中的另一行。它再次在新窗口中打开[框架]。
如何避免多帧?我一次只想要一个视图帧。假设用户想要查看新数据,那么旧视图框架将退出,新视图框架将打开。
使框架成为实例变量。每当您必须显示一个新框架时,请检查它是否已显示,如果是,请先关闭现有框架,然后再显示新框架。
通常,最好JFrame
在应用程序中有一个,而所有其他窗口都是JDialog
s。
您是否考虑过制作第二个窗口模式?
另一种选择是设置一个标志,告诉您第二个窗口是否打开。如果是,那么当用户双击表中的另一行时,您只需替换内容(而不是创建新窗口)。
windowClosed
您可以在a 的方法中设置该标志WindowListener
。然后WindowListener
,您将把它添加到您的第二个窗口。
Window
通过调用来查看 a 是否打开Window#isShowing
。这适用于JFrame
s 和JDialog
s。