Javafx 多FXML中的事件处理

Javafx 多FXML中的事件处理,javafx,fxml,Javafx,Fxml,我用FXMl制作了这个UI(见图)。Top.fxml、Bottom.fxml、Left.fxml、Right.fxml放在Main.fxml下,并通过边框窗格排列。Left.fxml和Right.fxml位于SplitPane中 我想做的是,当单击Top.fxml中的按钮时,它应该执行控制器文件中的函数。下面是控制器文件中的代码。我在list.setItems(listItems)上获得java.lang.NullPointerException。当我放置list.setItems(listIt

我用FXMl制作了这个UI(见图)。Top.fxml、Bottom.fxml、Left.fxml、Right.fxml放在Main.fxml下,并通过
边框窗格排列。Left.fxml和Right.fxml位于
SplitPane

我想做的是,当单击Top.fxml中的按钮时,它应该执行控制器文件中的函数。下面是控制器文件中的代码。我在
list.setItems(listItems)上获得
java.lang.NullPointerException
。当我放置
list.setItems(listItems)时也会发生这种情况

@FXML
private Button btn;

@FXML
private ListView<String> list;

ObservableList<String> listItems = FXCollections.observableArrayList("A","B","C","D");

@Override
public void initialize(URL arg0, ResourceBundle arg1) {

}

public void addToList(ActionEvent event) {

list.setItems(listItems);

}
@FXML
专用按钮btn;
@FXML
私有列表视图列表;
ObservableList listItems=FXCollections.observableArrayList(“A”、“B”、“C”、“D”);
@凌驾
公共void初始化(URL arg0,ResourceBundle arg1){
}
公共无效添加列表(ActionEvent事件){
列表.设置项(列表项);
}

如果代码没有正确注入,即Top.fxml没有正确加载,“list”变量为空。
如果无法解决此问题,请提供加载fxml文件的代码。

我使用
包含fxml。我建议您检查Top.fxml文件的路径。可以使用场景生成器正确加载它,但不能使用运行时(或相反)