【问题标题】:JavaFX refetch observablelist from databaseJavaFX 从数据库中重新获取 observablelist
【发布时间】:2011-10-04 14:23:50
【问题描述】:

我需要从一个经常从外部源更新的数据库表中显示一个定制的节点列表。

当对数据库进行更改时,需要在屏幕上相应地更新列表。

为此,我实现了一个带有 onChanged 方法的 ObservableList,该方法应该检查更改并重建自定义列表。

我的情况是,在数据库中添加新数据时,onChanged 方法永远不会触发,只有在对已定义的 ObservableList 进行动态更改时才会触发。

我如何让 ObservableList 知道数据库中何时存在新数据?

提前致谢!

【问题讨论】:

  • 轮询数据库不是一个选项吗?我不知道有任何 RDBMS 使用任何带有连接的推送模型(推送到客户端)。如果我不得不破解一个 - 我会在桌子上写一个触发器来检测变化,并做出相应的反应。
  • 我编写了一个定时器函数,它每 x 秒重新获取数据并相应地重建 gui 节点。如果我只更新数据,observablelist 将被替换,并且 onChanged 方法不会注意到更改,因此我必须完全重建 gui。

标签: javafx observable


【解决方案1】:

鉴于您对 jkaufmann 的回答,您似乎需要改变您的逻辑。

而不是每次需要用新数据计算差异并用新/删除的数据更新 ObservableList 时都重新构建 ObservableList。

【讨论】:

    猜你喜欢
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2022-01-07
    • 2016-03-02
    • 1970-01-01
    相关资源
    最近更新 更多