我开发了一个带有拆分窗格的小型 JAVAFX 应用程序。在左侧,我有一些按钮。如果按下按钮,将加载不同的 FXML 页面并将其放在拆分窗格的右侧(左 = 导航 / 右 = 内容)。
不,我在内容页面上有几个文本字段、单选按钮、下拉菜单等。内容直接来自数据库。我在内容页面上还有一个“保存”按钮。
如果用户按下保存按钮,所有数据将被存储到数据库中。那已经在起作用了。但是几乎每个“常规”应用程序都具有在更改丢失之前通知用户的功能。因此,如果我按下导航区域中的其他按钮,我想要通知某些内容已更改。
有没有通用的方法来做到这一点?内容页面将由不同的人开发,所以我不想解释每个人如何执行该功能。
我的想法是一个抽象控制器,每个控制器(来自内容页面)都必须扩展这个抽象控制器。通过加载内容 fxml 页面,我必须将根窗格从此内容 fxml 页面传递给抽象控制器。然后我想我需要遍历所有元素并添加一个键监听器。当有人点击导航上的不同按钮时,我需要获取实际控制器的实例并查看是否调用了侦听器。如果有人按下“保存”按钮,我还需要“删除”数据已更改的信息。
我相信这不是做类似事情的正确方法。也许我在内容 fxml 中有一个带有不同选项卡的选项卡窗格。每个选项卡都有带有自己保存按钮的文本字段,那么我的想法不再适用。
也许我需要使用 observables?
许多问候和每一个想法都非常受欢迎:-)