gpt4 book ai didi

java - 执行操作后如何更改 fxml 文件?

转载 作者:行者123 更新时间:2023-12-02 06:16:49 25 4
gpt4 key购买 nike

我即将完成数据库应用程序,但找不到有关如何更改 Controller 的 fxml 文件中写入的代码和默认值的解决方案。

我有一个包含列和这些列的 CheckMenuItems 的 Tableview。所选列的 CheckMenuItems 应该是可见列。未选定的项目不应可见。

我已经成功地做到了这一点,在我取消选择 CheckMenuItem 后,列消失了:

    @FXML
public void checkNR(ActionEvent event) {
if(!checkMenuItemNR.isSelected()) {
tablecolumnNR.setVisible(false);
}
if(checkMenuItemNR.isSelected()) {
tablecolumnNR.setVisible(true);
}

使用该程序一次后,到目前为止我的预期结果还不错。但是,如果我再次启动它,所有内容都会再次设置为默认值,并且我会看到所有列。

我想要的是更改下面代码中的最后一行,如果我取消选择该 CheckMenuItem,则所选内容将设置为 false。

 <Menu mnemonicParsing="false" text="Spalten">
<items>
<CheckMenuItem fx:id="checkMenuItemNR" mnemonicParsing="false" onAction="#checkNR" selected="true" text="NR" />

CheckMenuItems for each column selected at the start of the program

colums disappear if I unselect a menu item, but when I restart I want that to stay

最佳答案

正如我的评论中提到的,您最好将设置/配置保存在属性或数据库中。但是......如果您绝对需要更改 FXML 文件,您可以将其内容保存在文件或数据库中。这不是最好的解决方案,但我过去见过这样做的。我以前的一家公司允许用户按用户组修改 FXML 文件,这并不完全相同(本质上这是一次不频繁的保存),如果您这样做,则需要在每次退出/更改时保存 FXML 内容.

在较高的层面上,您需要:

  • 每次属性更改后,读入文件并手动处理 DOM。
  • 将更新的文件内容写入磁盘或数据库
  • 更新您的 fxml 加载以首先查看磁盘/数据库,如果不存在则回退到资源版本

这是可能的,但它并不完美 - 特别是在按用户按属性级别的用户上。最烦人的部分是每次单击按钮时都会更新 DOM。

关于java - 执行操作后如何更改 fxml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55867443/

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