0

在 javaFX 中,我通过以下代码打开了一个新阶段:

    Parent root2 ;
    root2 = FXMLLoader.load(getClass().getResource("FXMLelencoSoci.fxml"));
    Scene scena = new Scene(root2, 800, 800);
    final Stage stage2 = new Stage();
    stage2.initStyle(StageStyle.UNDECORATED);
    stage2.initModality(Modality.WINDOW_MODAL);
    stage2.initOwner(((Node) event.getSource()).getScene().getWindow());
    stage2.setScene(scena);
    stage2.show();

这显示了一个包含 2 列代码(int)和名称(字符串)的表 我如何从调用者阶段获取表中选择的代码的值?谢谢

4

2 回答 2

2

这是一个解决方案......可能不是最好的......您可以使用root2的UserData。从 FXMLelencoSoci 的控制器中,将用户数据设置到它的主窗格中。您可以通过执行以下操作来实现它:

mainPane.setUserData(value);

从主阶段,你知道这个窗格是 root2,所以使用这个:

value = root2.getUserData();

这将是您想要的方式......但我会让两个控制器相互了解,以便您仍然可以使用 Tiped 引用。

于 2013-09-23T20:27:57.577 回答
0

我创建了一个带有静态 int 变量集关闭 stage2 的类,并在 stage1 的 showAndWait 方法结束时读取

于 2013-09-25T06:26:28.933 回答