有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java设置在FXML中创建的JavaFX中的BorderPane的中心窗格(nullPointerException)

我花了一些时间试图找出我的逻辑在哪里有缺陷,在这里也看到了类似的问题,但出于某种原因,我一直得到一个nullPointerException:

public class MainWindowController
    implements Initializable {


    public static final String SCHEDULE_MANAGER = "ScheduleManagerController";
    public static final URL SCHEDULE_MANAGER_FXML = ScheduleManagerController.class.getResource("ScheduleManager.fxml");
    final SwitchableStackPane customStackPane = new SwitchableStackPane();

    @FXML 
    Button btnScheduleManager; // Value injected by FXMLLoader
    BorderPane switchablePane; //Value injected by FXMLLoader


    @Override // This method is called by the FXMLLoader when initialization is complete
    public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
        assert btnScheduleManager != null : "fx:id=\"ScheduleManager\" was not injected: check your FXML file 'HOECTool.fxml'.";
        assert switchablePane != null : "fx:id=\"mainPane\" was not injected: check your FXML file 'HOECTool.fxml'.";


            customStackPane.loadScreen(SCHEDULE_MANAGER, SCHEDULE_MANAGER_FXML);

            switchablePane.setCenter(customStackPane);

    }

这会引发nullPointer异常: 可切换窗格。设置中心(customStackPane)


共 (1) 个答案

  1. # 1 楼答案

    我是个白痴。这就做到了:

     @FXML 
        Button btnScheduleManager; // Value injected by FXMLLoader
    @FXML
        BorderPane switchablePane; //Value injected by FXMLLoader