2016-05-06 48 views

回答

0

你可以嘗試使用Initializable接口被稱爲在JavaFX的應用程序之前的根元素被完全處理:JavaDoc

如果你的控制器實現了這個接口,你必須實現Initializable法。

控制器類被構造,然後所有的@FXML字段和方法被注入,然後你可以在你的initialize()方法中訪問它們。

+0

我會說「可以實施」在這裏是不精確的。由於控制器必須是非抽象的,添加接口意味着該方法需要實施。恕我直言,這種方法的好處的解釋有點誤導。你也可以在構造函數中檢查服務(使用'initialize'方法只意味着你可以根據結果修改注入的實例)。 – fabian

+0

你是對的,如果Initializable被實現,初始化需要被執行。如果使用構造函數或initialize()方法,它也取決於服務。使用initialize(),您可以訪問控制器類中@FXML註釋的屬性和方法。外部資源也可以在構造函數中訪問。請參閱此處:https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html#controllers – Supahupe

相關問題