/** * Class MainBorderPain. */ package de.fhswf.in.inf.java2.aufgabe02; import java.util.Map; import javafx.scene.control.Button; import javafx.scene.layout.BorderPane; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; /** * Dynamically creates the buttons and labels. * * @author $Author: $ * @version $Revision: $, $Date: $ UTC */ public class MainBorderPane extends BorderPane { StackPane labelPane = new StackPane(); VBox buttonPane = new VBox(); /** * Creates buttons with text from key and the button creates a label with * name from value. * * @param names * The Map with the key value mappings. * */ public MainBorderPane(Map names) { if (names == null) { throw new IllegalArgumentException("labels can't be null."); } Button tmp; for (String name : names.keySet()) { tmp = new Button(name); tmp.setOnAction(new CardChangeEvent(labelPane.getChildren(), names .get(name))); buttonPane.getChildren().add(tmp); } setLeft(buttonPane); setCenter(labelPane); } }