标记在fxml中有用吗?它应该被删除吗?

问题描述:

的IntelliJ的CheckStyle表明这个标签应该被删除,因为它不是必需的,如不是是<children>标记在fxml中有用吗?它应该被删除吗?

<VBox> 
    <children> 
    <HBox> 
     ... 
    </HBox> 
    <HBox> 
     ... 
    </HBox> 
    </children> 
</VBox> 

你可以简单地有

<VBox> 
    <HBox> 
    ... 
    </HBox> 
    <HBox> 
    ... 
    </HBox> 
</VBox> 

这确实有助于没有臃肿的代码,在某些时候,但我没有找到一个在这里的公约很好的参考。

This link提到该标签是可选的,因为“加载器会自动将VBox的子元素添加到容器的”children“集合中。但是这并没有说明如果可以采用从代码中删除这个标签还是不把它作为一个约定呢?

此外,场景生成器似乎将这些标签添加到新创建的控件,但它不介意如果您删除它们。编辑这样一个修改后的文件时,它不会重新添加它们。

@DefaultProperty 当未给出显式属性时,将向其添加或设置子元素的属性。看到this

Pane类,它的所有子类有@DefaultProperty孩子看到this,所以

儿童标签在FXML有用吗?

我认为没有,真的没有

它应该被删除?

这取决于您的偏好