0
我有一個名爲mainController.java的fxml文件控制器。當觀點與此代碼可見我想要做的是:如何更改JavaFX控制器中的onCreate方法
Stage.show();
我想執行的方法是控制文件中,所以我可以改變一些事情之前的程序是可見的。我怎樣才能做到這一點?
我有一個名爲mainController.java的fxml文件控制器。當觀點與此代碼可見我想要做的是:如何更改JavaFX控制器中的onCreate方法
Stage.show();
我想執行的方法是控制文件中,所以我可以改變一些事情之前的程序是可見的。我怎樣才能做到這一點?
你可以嘗試使用Initializable接口被稱爲在JavaFX的應用程序之前的根元素被完全處理:JavaDoc
如果你的控制器實現了這個接口,你必須實現Initializable法。
控制器類被構造,然後所有的@FXML字段和方法被注入,然後你可以在你的initialize()方法中訪問它們。
我會說「可以實施」在這裏是不精確的。由於控制器必須是非抽象的,添加接口意味着該方法需要實施。恕我直言,這種方法的好處的解釋有點誤導。你也可以在構造函數中檢查服務(使用'initialize'方法只意味着你可以根據結果修改注入的實例)。 – fabian
你是對的,如果Initializable被實現,初始化需要被執行。如果使用構造函數或initialize()方法,它也取決於服務。使用initialize(),您可以訪問控制器類中@FXML註釋的屬性和方法。外部資源也可以在構造函數中訪問。請參閱此處:https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html#controllers – Supahupe