2016-05-23 28 views
0
<fx:include source="MyCombo.fxml" fx:id="combo1" maxWidth="Infinity" GridPane.columnIndex="1" GridPane.rowIndex="2" /> 
    <Label text="Depotstelle" GridPane.columnIndex="2" GridPane.rowIndex="2" /> 
    <fx:include source="MyCombo.fxml" fx:id="combo2" maxWidth="Infinity" GridPane.columnIndex="3" GridPane.rowIndex="2" /> 
    <TextField fx:id="referenceText" maxWidth="Infinity" GridPane.columnIndex="5" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2" /> 
    <fx:include source="MyCombo.fxml" fx:id="combo3" GridPane.columnIndex="1" GridPane.rowIndex="3" /> 

在FXML上面我有很多FXML包括使用相同的源FX标签:包括源=“MyCombo.fxml”。可以这样做吗?会影响FXML加载器的性能(我在考虑I/O操作)?它是确定有很多FXML包括相同的FXML

回答

2

应该没问题。你不会说有多少“多”。超过一千个包含可能会太多,但少于五十个包含像您的组合框定义可能的小fxml文件,不应该引起问题。

如果您对当前设计的性能有任何问题,您应该运行一些基准来查看缓慢点的位置。如果你没有任何性能问题,那么我不会担心它,并会建议你选择最适合你的最清晰的设计和实现。

作为解决和考虑您在此提出的问题的一种方式,您可能有兴趣阅读分析which design is faster(不针对您的问题)的一些通用背景信息。

+0

我想知道FXML加载程序是否执行了很多I/O操作,或者它是否缓存了下一次读取MyCombo.fxml的内容 –

+0

然后基准我们FXML文件的加载过程或研究加载程序源代码以找出结果。 – jewelsea