可変サイズの配列(たとえば、カードの配列)がある場合。
要素(たとえば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));
}
}
}
Fxml:
<fx:root type="FlowPane" xmlns:fx="http://javafx.com/fxml"
stylesheets="view/Style.css">
<children>
<!--should i put something here?-->
</children>
</fx:root>