如何在JavaFX中嵌入带有新场景的控制器

时间:2014-11-26 08:23:19

标签: javafx

我想用控制器打开一个新场景但是当我把控制器插入其中时我得到一个IOException。 这是我的方法:

private void forgotAccount (ActionEvent event) {
    try {
        Node node = (Node) event.getSource();
        Stage stage = (Stage) node.getScene().getWindow();
        Scene scene = stage.getScene();
        FXMLLoader loader = new FXMLLoader(Login.class.getResource("/mattiashellkvist/forgotAccount.fxml"));
        loader.setController(new ForgotAccountController());
        AnchorPane root = (AnchorPane) loader.load();
        scene.setRoot(root);
        stage.sizeToScene();
    }
    catch (IOException e) {
        System.out.println("Something went wrong");
    }
}

1 个答案:

答案 0 :(得分:0)

代码是正确的...请检查你的fxml位置(你提供给FXMLLoader)和fxml文件中的任何错误......并在catch中使用e.getMessage()来获取详细的问题(即System.out.println (“出了问题”+ e.getMessage());)