<children> 标签在 fxml 中有用吗?应该删除吗?

Flo*_*cea 6 java intellij-idea fxml

IntelliJ checkstyle 指示应删除此标记,因为它不是必需的,如 in 而不是

<VBox>
  <children>
    <HBox>
        ...
    </HBox>
    <HBox>
        ...
    </HBox>
  </children>
</VBox>
Run Code Online (Sandbox Code Playgroud)

你可以简单地拥有

<VBox>
  <HBox>
    ...
  </HBox>
  <HBox>
    ...
  </HBox>
</VBox>
Run Code Online (Sandbox Code Playgroud)

这确实有助于在某些时候避免臃肿的代码,但我没有在这里找到关于约定的好的参考。

此链接提到该标记是可选的,因为“加载程序将自动将 VBox 的子元素添加到容器的“子”集合中”。但这并不清楚是否可以从代码中删除此标签作为惯例?

此外,Scene Builder 似乎将这些标签添加到新创建的控件中,但它不介意您是否删除它们。在编辑这样一个修改过的文件时,它不会重新添加它们。

Ali*_*Ali 3

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

Pane类及其子类所拥有的所有内容,@DefaultProperty就像孩子们看到的那样,所以

儿童标签在 fxml 中有用吗?

我想不,不是真的

是否应该将其删除?

这取决于你的喜好