在 window 关闭时更新 JTable

Update JTable as a window closes

下午好!

我有一个主程序(我们称之为 window1),它显示 JTable 并由 SQL 数据库中的数据填充。当您双击 JTable 时,它会打开一个新的 window(我们称之为 window2),允许用户编辑数据库。

我想向 window2 添加一个 windowListener,以便在它关闭时告诉 window1 重新填充其中包含的 JTable。

我试着四处查看 window 事件并试图弄清楚如何使用它们,但我就是不明白...如果您需要我代码的某些部分,请随时询问.

我的主程序中有一个方法最初会在 window1 加载时更新 JTable,但需要弄清楚如何在 window2 关闭时调用该方法.

提前致谢!

您在 window2 中到底有什么?也许有任何确认按钮?如果是这样,那么您可以在该按钮的侦听器中调用 JTable 的更新方法。

I would like to add a windowListener to window2 so that as it closes, it tells window1 to repopulate the JTable contained there.

所有这一切的难点不在于信息的传输——这可以通过 getter 和 setter 方法简单地完成。不,困难通常是知道 何时 传输信息,为此您有两个选择之一。

  • 目前最简单的方法是让 window2 不是 JFrame,而是 modal JDialog。这就像 JFrame 一样,可以容纳 JFrame 拥有的所有内容,但会冻结主 window 中的程序流,直到对话框 window 不再可见。一旦发生这种情况,程序流程在主程序中恢复,您可以查询对话框保存的数据window,并使用这些数据更新JTable。
  • 另一个更困难的选择是使 window2 成为非模态 JDialog,如果你走这条路,你需要添加一个 WindowListener(请参阅 link) - 如果你能帮忙,我不推荐这个。