JavaFX borderpane.setCenter 替换了整个场景
Posted
技术标签:
【中文标题】JavaFX borderpane.setCenter 替换了整个场景【英文标题】:JavaFX borderpane.setCenter replaces entire scene 【发布时间】:2014-12-13 10:33:12 【问题描述】:我正在尝试将 FXML 加载到 FXML 中。主 FXML 有一个边框,第二个包含一个 VBox。我用 FXMLLoader 加载这两个。当我尝试设置 boarderpane 的中心时,整个屏幕将被第二个 FXML 替换。这是代码
BorderPane riskAnalysis = new BorderPane((BorderPane) FXMLLoader.load(getClass().getResource("./proposaldevelopment/riskAnalysis.fxml")));
VBox center = new VBox((VBox) FXMLLoader.load(getClass().getResource("./proposaldevelopment/openRiskAssessmentVbox.fxml")));
riskAnalysis.setCenter(center);
root = riskAnalysis;
stage.getScene().setRoot(root);
有什么想法会导致这种情况吗?我还尝试制作一个新标签并将其放入边框中心,结果相同。
【问题讨论】:
【参考方案1】:试试
BorderPane riskAnalysis = (BorderPane) FXMLLoader.load(getClass().getResource("./proposaldevelopment/riskAnalysis.fxml"));
VBox center = (VBox) FXMLLoader.load(getClass().getResource("./proposaldevelopment/openRiskAssessmentVbox.fxml"));
riskAnalysis.setCenter(center);
stage.getScene().setRoot(riskAnalysis);
【讨论】:
这行得通。它一定与我将它作为新的 BorderPane/Vbox 加载有关 - 感谢您的帮助!以上是关于JavaFX borderpane.setCenter 替换了整个场景的主要内容,如果未能解决你的问题,请参考以下文章