我有一个带有10个标签的TabPane(每个标签都带有控制器)。在其中一个中,我有一个表'类别',用户可以在其中添加/编辑/删除类别。 其他选项卡在只读模式下具有相同的表“类别”,较小,用户只能选择类别。 然后,当在类别选项卡中修改表'类别'时,我想要的是更新其他选项卡的所有其他表类别。 我认为(尚未实现),在顶部面板上放置一个检测选项卡更改的侦听器,当用户离开类别选项卡时,检查是否已进行更改。 如果是这样,请调用所涉及的所有控制器以更新他们自己的类别表。
我的问题是,如果有一个不那么繁琐的方法来做到这一点。发送消息'表的内容已被更改',消息的所有'监听器'选项卡都会更新其表。类似于本地JMS,而不是客户端 - 服务器。是否有类似这种消息传递服务的东西可以在同一个应用程序中使用,或者我提出的解决方案是最一致的?我认为问题是Java比JavaFX更多。 非常感谢。
答案 0 :(得分:0)
最简单的方法是将ObservableList中的类别保存在某个顶层(比如在您的Application子类中),并让所有表共享对该列表的引用(table.setItems(yourList)
)。每当在类别选项卡中进行更改时,其他选项卡将自动反映更改。