gpt4 book ai didi

Java SWT 从按钮刷新多个 Shell

转载 作者:行者123 更新时间:2023-11-30 04:43:57 26 4
gpt4 key购买 nike

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

enter image description here

截图详情

  • 一个
    • 主表单
    • 当前,当两个辅助表单中的任何一个更改数据库中的数据时,此表单都会更新。这是通过从辅助表单重新加载表格来完成的
  • B
    • 这是数据表单的第一个实例
  • C
    • 这是数据表单的第二个实例。
    • 通过单击打开按钮从第一个数据表单中打开它。我想做的是当我更改第二个表单中的某些内容时刷新第一个数据表单。
    • 例如,我打开了标签 295 White 的记录,当我更新该记录的数据时,我希望更改显示在 26 White 的记录表单中

我知道这是一个很难理解的问题,所以请随时询问更多细节,我正在绞尽脑汁试图弄清楚这一点。

最佳答案

在主窗体中,您设置了一个 Java Stack

Stack<DataForm> stack = new Stack<DataForm>(); 

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

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

stack.push(this);

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

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

当您想要刷新所有表单时,可以循环遍历堆栈。

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

关于Java SWT 从按钮刷新多个 Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com