所以,我想做的是,使用 fxml 创建一个自定义元素,然后将该元素的几个实例添加到一个容器中,比如 GridPane。“新”运算符对我不起作用,因为我想使用 @fxml 注释器来访问元素。克隆会很好,但它不起作用。FXMLLoader 在使用 for() 结构添加许多元素时非常慢。如果我可以将引用写入 fxml 父节点,那将是完美的,它可以从控制器调用。
对不起...这里是伪...
public class Controller implements Initializable {
@FXML
private VBox stack;
@FXML
private Button button;
@FXML
private void Change(KeyEvent event) throws IOException {
for (int i=0; i<10; i++){
stack.getChildren().add(button);
}
}
}
将THE按钮添加到VBox是没有问题的。但是在 for-construct(添加多个按钮)中它失败了。我可以在 for 构造中使用 new 运算符,但我想知道这是否是唯一的可能性。我认为必须有另一种方法,例如使用@FXML 注释器来“获取”按钮然后复制它。