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();

これは、コード (int) と名前 (文字列) の 2 つの列を持つテーブルを表示します。テーブルで選択されたコードの値を呼び出し元のステージから取得するにはどうすればよいですか? ありがとう

4

2 に答える 2

2

ここに解決策があります...おそらく最善のものではありません... root2のUserDataを使用できます。FXMLelencoSoci のコントローラーから、ユーザー データをそのメイン ペインに設定します。これは、次の手順を実行することで実現できます。

mainPane.setUserData(value);

そして、メイン ステージから、このペインが root2 であることを知っているので、これを使用します。

value = root2.getUserData();

それはあなたが望む方法でしょう...しかし、私は2つのコントローラーがお互いを認識できるようにして、引き続きTiped参照を使用できるようにします。

于 2013-09-23T20:27:57.577 に答える
0

ステージ 2 を閉じる静的な int 変数セットを持つクラスを作成し、ステージ 1 の showAndWait メソッドの最後で読み取ります

于 2013-09-25T06:26:28.933 に答える