Java SWT从按钮刷新多个壳

我正在构建一个访问数据库的应用程序,目前我有一个显示主表的SWT Shell。 从该表中,用户可以打开单个记录,并且从记录表单内部,用户可以打开具有相同类型但包含不同数据的第二个表单。 如果更新任一表单中的记录,则更新将反映在主表单中。 我的问题是我无法更新打开的第一个记录表单。 有没有办法强制更新或重绘某种类型的所有打开表单,或者有一种方法可以同时更新同一类型的多个shell。 下面的屏幕截图显示了我想要做的事情。

在此处输入图像描述

截图详情

  • 一个
    • 主要表格
    • 当2个辅助表单中的任何一个更改数据库中的数据时,此表单将更新。 这是通过从辅助表单重新加载表来完成的
    • 这是数据表单的第一个实例
  • C
    • 这是数据表单的第二个实例。
    • 通过单击打开按钮从第一个数据表单打开它。 我想要做的是在我改变第二种forms的东西时刷新第一个数据表单。
    • 例如,我打开了标签295 White的记录,当我更新此记录的数据时,我希望更改显示在26白色的记录表格中

我知道这是一个难以理解的问题,所以请随时询问更多详细信息我正在努力解决这个问题。

在主窗体中,您可以设置Java Stack

 Stack stack = new Stack(); 

您将此Stack的引用传递给数据表单。

在数据表单的构造函数中,您传递数据表单实例。

 stack.push(this); 

在数据表单的析构函数(退出)中,删除数据表单实例。

 int pos = stack.search(this); stack.remove(pos); 

当您想要刷新所有表单时,您将遍历堆栈。

 for (DataForm dataForm : stack) { // do the refresh }