如果我有一个可变大小的数组(例如一组卡片)。
我如何构建一些东西来显示元素(例如在 FlowPane 中)并且每个元素都有自己的控制器(每个卡的 fxml + 控制器),所以元素(卡)的容器(流窗格)可以有它的元素交换、删除或添加新的?
控制器:
public class HandController extends FlowPane implements Initializable{
@Override public void initialize(URL arg0, ResourceBundle arg1){
}
public void setHand(ArrayList<Cards> Hand){
//this would work if the hand were static
for(int i = 0; i < Hand.size(); ++i){
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("CardView.fxml"));
CardController controller = new CardController();
fxmlLoader.setController(controller);
fxmlLoader.setRoot(controller);
Parent card = (Parent)fxmlLoader.load();
fxmlLoader.setRoot(card);
this.getChildren().add(card);
controller.setCard(Hand.get(i));
}
}
}
文件格式:
<fx:root type="FlowPane" xmlns:fx="http://javafx.com/fxml"
stylesheets="view/Style.css">
<children>
<!--should i put something here?-->
</children>
</fx:root>