如何修复javaX中由'java.lang.NullPointerException'引起的'java.lang.reflect.InvocationTargetException'

时间:2019-01-08 06:29:26

标签: javafx scenebuilder

大家好,我是javaFX的新手,我试图在此视频上运行该教程 为了在同一阶段展示多个Scence 但是,每当我运行程序时,都会出现以下错误

https://www.youtube.com/watch?v=RJOza3XQk34

这是sample.java代码

$ sudo port uninstall --follow-dependents perl5.26

sampleController.java代码

public class Sample extends Application {
    @Override

    public void start(Stage primaryStage) {
        try {
            Parent root =        FXMLLoader.load(getClass().getResource("Sample.fxml"));
            Scene scene = new Scene(root);
            primaryStage.setTitle("Title");
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }


    public static void main(String[] args) {
        launch(args);
    }
} 

这是我遇到的错误

public class SampleController implements Initializable {
@FXML
private AnchorPane rootpane;


@Override
public void initialize(URL arg0, ResourceBundle arg1) {
    // TODO Auto-generated method stub

}
 public void Action(ActionEvent event) throws IOException {

    System.out.println("button clicked");

    AnchorPane pane = FXMLLoader.load(getClass().getResource("Sample1.fxml"));
    rootpane.getChildren().setAll(pane);


} 


}

任何帮助我都会感激的

1 个答案:

答案 0 :(得分:0)

如评论中所述

  

如果rootpane为null,则表示它没有被注入到控制器中。您的FXML文件中是否具有适当的fx:id =“ rootpane”属性? –通过@Slaw

只需在FXML文件中设置适当的fx:id =“ rootpane”属性