在 Scene Builder 中注入 Arraylist 的元素
Injecting an element of an Arraylist in Scene Builder
我有一个长度为动态的数组列表,其中包含几个标签,例如
在控制器中class我已经声明
@FXML private ArrayList<Label> a;
控制器内初始化class...
@Override
public void initialize(URL url, ResourceBundle rb) {
b.add(new Label("label 1"));
b.add(new Label("label 2"));
b.add(new Label("label 3")); //etc...
}
我是否有机会通过 fx:id 在 Scene Builder 中注入 a 的每个元素? a.get(0) 而不是...
您可以反过来,即在 FXML 中声明一个 Label
的 ObservableList,然后将每个元素注入控制器。
<FXCollections fx:factory="observableArrayList">
<Label fx:id="light" text="Light" />
<Label fx:id="dark" text="Dark" />
</FXCollections>
在控制器中:
public class YourControllerName implements Initializable {
...
@FXML
private Label light;
@FXML
private Label dark;
...
}
我有一个长度为动态的数组列表,其中包含几个标签,例如
在控制器中class我已经声明
@FXML private ArrayList<Label> a;
控制器内初始化class...
@Override
public void initialize(URL url, ResourceBundle rb) {
b.add(new Label("label 1"));
b.add(new Label("label 2"));
b.add(new Label("label 3")); //etc...
}
我是否有机会通过 fx:id 在 Scene Builder 中注入 a 的每个元素? a.get(0) 而不是...
您可以反过来,即在 FXML 中声明一个 Label
的 ObservableList,然后将每个元素注入控制器。
<FXCollections fx:factory="observableArrayList">
<Label fx:id="light" text="Light" />
<Label fx:id="dark" text="Dark" />
</FXCollections>
在控制器中:
public class YourControllerName implements Initializable {
...
@FXML
private Label light;
@FXML
private Label dark;
...
}