该错误是由于您尝试直接引用 FXML 文件中的
List
导致的。
但是,您无法直接引用 FXML 中
List
这样的泛型类型,并且 JavaFX FXML 不支持通过 FXML 直接实例化非 JavaFX 类。
要实现您想要的效果,您可以使用
fx:id
属性来引用 VBox
等容器,然后以编程方式将 Label
元素添加到控制器中,如下所示:
<VBox xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="list.ListController">
<VBox fx:id="labelContainer">
<!-- You can leave this section empty -->
</VBox>
</VBox>
package list;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
public class ListController implements Initializable {
@FXML
private VBox labelContainer;
@Override
public void initialize(URL url, ResourceBundle rb) {
// Create Label instances
Label label1 = new Label("Test");
Label label2 = new Label("Test2");
// Add labels to the VBox container
labelContainer.getChildren().addAll(label1, label2);
}
}