我即将完成数据库应用程序,但找不到如何更改写入控制器的fxml文件中的代码和默认值的解决方案。
我有一个包含列的Tableview和这些列的CheckMenuItems。被选中的那些列的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
答案 0 :(得分:0)
正如我的评论中所述,最好将设置/配置保存在属性或数据库中。但是.....如果绝对需要更改FXML文件,则可以将其内容保存在文件或数据库中。这不是最大的解决方案,但我在过去已经看到过。我以前的公司允许用户按用户组修改FXML文件,这并不完全相同(本质上是很少保存),如果这样做,则每次退出/更改时都需要保存FXML内容。
从高层次上讲,您需要:
有可能,但这并不漂亮-特别是针对每个用户(按属性级别)。最烦人的部分是每次单击按钮时都会更新DOM。