2017-07-26 100 views
0

如何在分配給View的控制器內訪問Stage從控制器內訪問舞臺

目前我使用控制器外部的setter來設置舞臺,但我想知道是否有一種方法,我不需要從控制器外部明確調用方法。

回答

0

如果你在你的控制器的任何節點的引用,您可以:

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

小心使用此。舞臺是Window的一個子類,所以Stage是一個窗口,但窗口並不總是一個舞臺。

+0

在生命週期的什麼時候可以調用?我猜這是在'@FXML initialize(){..}'期間不可用的......「 – Hannes

+0

不,你必須已經連接到場景圖。如果您需要更早訪問舞臺,我會在創建控制器時注入它。 – Eric

+0

這就是我的想法,這就是我現在正在做的,但我想知道是否有更好的方法來做到這一點。 – Hannes