我有几个标签和几个textFields的自定义组件。我需要实例化它3次,但每个版本都必须具有以不同字符串作为前缀的所有标签。如何将变量从控制器代码传递给fxml视图?
片段我的组件FXML的:
<Label text="inclusions type:"/>
<Label text="inclusions size:" GridPane.rowIndex="1"/>
<Label text="inclusions number:" GridPane.rowIndex="2"/>
我想实现某种代码占位符,如:
<Label text="$variable inclusions type:"/>
<Label text="$variable size:" GridPane.rowIndex="1"/>
<Label text="$variable number:" GridPane.rowIndex="2"/>
我会尽量避免注射的所有标签一个接一个,因为我知道没有可能一次将所有标签注入控制器,如前。 Collection<Label> allLabels;
问题:如何将字符串从控制器代码传递到fxml视图,避免重复和不必要的工作?
如果要动态地添加组件,您应该实例,并将其在Java代码中添加场景! Fxml用于手动定义静态组件。在Fxml文件中使用动态组件毫无意义。 – Omid
我明白,但将.fxml文件和“Swing style”代码放在一起对我来说并不好。但我有些迂腐:D –
我想我误解了。如果你想注入标签的文本的一部分,而不是许多带有一些可变文本的标签,这是有道理的! – Omid