是否有可能在同一个框架中打开一个新的FXML文件(is it possible to open a

2019-08-17 03:34发布

我已经创建FXML文件在锚面板,但每次我按一下按钮我得到了一个新的帧的下一个FXML我希望它在同一个框架中打开

public void baropen(ActionEvent event) {
    // handle the event here
    BorderPane bp = new BorderPane();
    bp.setPadding(new Insets(10, 50, 50, 50));

    Stage stage = new Stage();
    Scene scene ;
    // scene= new Scene(root);
    scene = new Scene(bp);
    stage.setScene(scene);
    stage.show(); 
    try {
        new RecBar().start(stage);
    } catch (Exception ex) {
        Logger.getLogger(RecController.class.getName()).log(Level.SEVERE, null,ex);
    }
}

Answer 1:

只要创建一个单一的Stage ,当你要替换的阶段与新FXML的内容,新的FXML加载到一个新的Scene ,并呼吁stage.setScene

这是一个比喻剧场 - 想象一下你正在看一出戏 - 这是罗密欧与朱丽叶,窗帘提高,你看到的第一个场景(在维罗纳一个广场的喷泉)。 后来,窗帘下降,小男人跑来跑去,改变的东西,大幕升起,你会看到一个新的场景(阳台朱丽叶的卧室)。 场景已经变化,但舞台也没有 - 只有一个阶段和多个场景。



文章来源: is it possible to open a new fxml file in the same frame