-2
我是JavaFX中的新手,並且隨着任何新手的涌入,我充滿懷疑。 所以我要填充一個<AnchorPane>
兒童<Pane>
這樣FXML代碼:JavaFx - 動態JXML,在初始化時添加窗格元素
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<AnchorPane fx:id="anchor" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
<children>
<!-- Add multiple Panels here-->
</children>
</AnchorPane>
我的控制器看起來是這樣的:
package sample;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import java.net.URL;
import java.util.ResourceBundle;
public class Controller implements Initializable {
@FXML javafx.scene.layout.AnchorPane anchor;
@FXML javafx.scene.layout.Pane pane;
@Override
public void initialize(URL location, ResourceBundle resources) {
pane.prefHeight(100);
pane.prefWidth(300);
pane.setStyle("-fx-background-color: aqua");
for(int i = 0; i < 3; i++) {
anchor.getChildren().add(pane);
pane.setLayoutY(i*100);
}
}
}
希望有人能幫助我...謝謝!
任何UI對象只能顯示一次。如果你需要多次展示,你需要每次創建它的一個實例。 –