选择按钮时如何使不同的窗格可见?

How do I make different panes visible when button selected?

所以这是我遇到的问题:我有 3 个按钮,当我按下 3 个按钮之一时,新场景将显示。然而,我似乎无法弄清楚如何根据按下哪个按钮使不同的窗格显示可见。执行此操作的最佳方法是什么?我如何使用来自不同场景控制器的 ID 来更改主场景按钮侦听器中窗格的属性?

目前在我的主控制器上,当每个按钮被释放时,下面的动作侦听器将执行并显示 secondscreen.fxml。 secondscreen.fxml 有 2 个不同的窗格,具体取决于按下哪个按钮,我需要将 2 个痛苦中的 1 个设置为可见。

@FXML
 public void handleButtonAction(MouseEvent event) {
    Parent root;
    try {
        root = FXMLLoader.load(getClass().getResource("secondscreen.fxml"));
        Stage stage = new Stage();
        stage.setTitle("title");
        stage.setScene(new Scene(root));
        stage.show();

        ((Node)(event.getSource())).getScene().getWindow();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

加载视图后,您可以访问其控制器。

请记住,您的控制器必须分配给您的 fxml 文件 fx:controller="your.package.SecondScreenController.java"

FXMLLoader loader = new FXMLLoader.load(getClass().getResource("secondscreen.fxml"));
// load view
Parent root = loader.load();
// after view is loaded, access its controller
SecondScreenController controller = (SecondScreenController) loader.getController();
// modify view using methods on your controller
controller.setTabIndex(0)

Stage stage = new Stage();
stage.setScene(new Scene(root));
stage.show();