gpt4 book ai didi

java - 相同的阶段,不同的 Fxml - Javafx

转载 作者:行者123 更新时间:2023-11-29 06:34:30 26 4
gpt4 key购买 nike

我是 JavaFX 的新手。我有一个装有垂直拆分 Pane 的窗口。在拆分页面的左侧,我有几个按钮。在每个按钮上单击我需要在拆分 Pane 的右侧加载单独的 fxml。所以我在这里粘贴屏幕截图以便清楚。

enter image description here

到目前为止,当点击搜索按钮时,我在单独的阶段、单独的场景中打开。现在我需要在 baselayout 窗口的右侧加载 Searcher。这是一些加载 baseLayout 的代码。

@Override
public void start(Stage primaryStage) throws Exception {
this.primaryStage = primaryStage;
this.primaryStage.setTitle("Base Layout");
BaseController.setMlTool(this);
FXMLLoader loader = new FXMLLoader(MLTool.class.getResource("view/Base.fxml"));
baseLayout = (AnchorPane) loader.load();
Scene scene = new Scene(baseLayout);

primaryStage.setScene(scene);
primaryStage.show();
}

下面是一些代码,可以在单击按钮时加载搜索器。

@FXML
private void initialize(){
System.out.println("Testing");
}

@FXML
private void handleSearchButton(){
System.out.println("Handle Button Called");

Stage search = new Stage();
FXMLLoader loader = new FXMLLoader(MLTool.class.getResource("view/Searcher.fxml"));
search.setTitle("Searcher");
try {
AnchorPane searcherPage = (AnchorPane) loader.load();
Scene scene = new Scene(searcherPage);
search.setScene(scene);
search.show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

这里是如何在 BaseLayout 的拆分 Pane 右侧加载 Searcher。希望我的问题很清楚。感谢您对预期的帮助。

最佳答案

您可以在右侧获取 Pane ,然后加载 fxml 作为该 Pane 的子节点。阶段始终相同,您可以在 Pane 中加载 fxml。例如:MainWindow.fxml 是每个窗口。您可以在阶段加载。

Parent root = FXMLLoader.load(getClass().getResource("MainWindow.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();

现在在 MainWindow.fxml 中,您有拆分 Pane 。将 anchorPan 放在您想要在按钮单击时加载 fxml 的右侧。然后将 fxml 作为子项添加到锚定 Pane 中。

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(fxml));
Pane cmdPane = (Pane) fxmlLoader.load();
try {
anchCmdController.getChildren().clear();
anchCmdController.getChildren().add(cmdPane);
fadeIn.playFromStart();
} catch (Exception e) {
e.printStackTrace();
}

关于java - 相同的阶段,不同的 Fxml - Javafx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com