2017-07-26 7 views
0

は、Viewに割り当てられたコントローラー内でどのようにフォームにアクセスできますか?コントローラー内からステージにアクセスする

現在、私はコントローラの外側からステージを設定するためにセッタを使用していますが、コントローラの外部から明示的に呼び出されたメソッドに依存する必要がない方法があるかどうかを知りたいと思います。

答えて

0

あなたのコントローラ内の任意のノードへの参照を持っている場合は、あなたがすることができます

Stage theStage = (Stage) nodeReference.getScene().getWindow(); 

はこれを使用して注意してください。 StageはWindowのサブクラスなので、StageはWindowですが、Windowが常にStageであるとは限りません。

+0

ライフサイクルのどの時点でこれを呼び出すことができますか? '@FXML initialize(){..}'の間は利用できないと思います... – Hannes

+0

いいえ、あなたは既にシーングラフにアタッチされていなければなりません。以前ステージにアクセスする必要がある場合は、コントローラの作成時にステージに挿入します。 – Eric

+0

それは私が思ったことであり、私は今やっていることですが、これを行うより良い方法があるのだろうかと思っていました。 – Hannes

関連する問題