更新JTable作为窗口关闭

时间:2016-04-22 19:46:02

标签: java sql swing jtable windowlistener

下午好!

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

我想在window2中添加一个windowListener,这样当它关闭时,它会告诉window1重新填充那里包含的JTable。

我尝试了解窗口事件并尝试弄清楚如何使用它们,但我只是不理解它...如果您需要我的代码的某些部分,请随意询问。

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

提前致谢!

2 个答案:

答案 0 :(得分:2)

你究竟在window2中拥有什么?任何确认按钮可能吗?如果是这样,那么你可以在该按钮的监听器内调用JTable的更新方法。

答案 1 :(得分:2)

  

我想在window2中添加一个windowListener,这样当它关闭时,它会告诉window1重新填充那里包含的JTable。

所有这一切的困难部分不是信息传递 - 这可以通过getter和setter方法简单地完成。没有困难通常是知道 时传输信息,为此你有两个选择之一。

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