###前提・実現したいこと
SceneBuilderを用いて作成した下地の画面にfor文を用いて複数個連続でボタンを作るにはどのようにしたらよいでしょうか?イメージとしてはLabel(黒線)の下の赤枠の部分にボタンを複数個配置する感じです。
Window.fxml コード > ```<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.text.*?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <fx:root fx:id="root" prefHeight="500.0" prefWidth="600.0" style="-fx-background-color: white;" type="javafx.scene.layout.AnchorPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> <children> <Label fx:id="label" alignment="CENTER" layoutY="25.0" prefHeight="36.0" prefWidth="526.0" style="-fx-background-color: black;" textFill="WHITE" wrapText="true" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"> <font> <Font name="Lucida Bright Demibold" size="23.0" /> </font> </Label> </children> </fx:root>
WindowController.java コード public class Window extends AnchorPane implements Initializable { String labelText; @FXML Label label; public Window(String labelText) { this.labelText = labelText; loadFXML(); } /** * FXMLのロード */ private void loadFXML() { FXMLLoader fxmlLoader = new FXMLLoader(.class.getResource("Window.fxml")); fxmlLoader.setRoot(this); // 自分自身をコントロールとして設定 fxmlLoader.setController(this); try { fxmlLoader.load(); } catch (IOException exception) { throw new RuntimeException(exception); } } @Override public void initialize(URL location, ResourceBundle resources) { label.setText(labelText); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/29 09:01 編集
2016/11/19 11:51
2016/11/19 12:24