我有一個實現了Initializable的類。超級初始化後的JavaFx調用超級方法
public abstract class ExampleClass implements Initializable {
public void ExampleClass() {
// Load FXML
}
@Override
public void initialize(URL location, ResourceBundle resources) {
// Initialize stuff
}
public void afterInitialize() {
// Do things that are reliant upon the FXML being loaded
}
}
我再擴展這個抽象類:
public class ExampleSubclass extends ExampleClass {
public ExampleSubclass() {
super(/* real code has params */);
this.afterInitialize(); // Problem here
}
}
然而,當我打電話afterInitialize(),它的行爲就好像在抽象類的FXML尚未加載。這讓我感到困惑,因爲我先調用super()構造函數,所以我相信FXML應該已經被加載了。
我在做什麼錯?
在此先感謝。
爲什麼ñ調用'this.afterInitialize();'initialize(..,...);'內部''只有這樣你才能成功加載FXML。你的問題很有趣。 – GOXR3PLUS
通常這就是我要做的,但我需要從'ExampleSubclass'傳遞參數到'afterInitialize()'(可能應該指定在這個問題中,我的不好) – user3668541
其實這裏提供的答案非常好,我din甚至不瞭解'@ PostConstruct'註釋。 – GOXR3PLUS