我即将完成数据库应用程序,我找不到有关如何更改编码器的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
正如我的评论中所提到的,您最好在属性或数据库中保存设置/配置。但是......如果您绝对需要更改FXML文件,可以将其内容保存在文件或数据库中。这不是最好的解决方案,但我已经看到它在过去完成了。我以前的一家公司允许用户按用户组修改FXML文件,这不完全相同(实际上这是一种不常见的保存),如果你这样做,你将需要在每次退出/更改时保存FXML内容。
在高层次上,您需要:
这是可能的,但它并不漂亮 - 特别是用户按用户级别对用户。每次点击按钮完成时,最烦人的部分是更新DOM。