私は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がまだロードされていないかのようにしかし、それは動作します。これは私がスーパー()コンストラクタを最初に呼び出すときに私を混乱させるので、FXMLが既にロードされているはずだと私は信じています。
私は間違っていますか?
ありがとうございます。
なぜnは'initialize(..、...);'の内部で 'this.afterInitialize();'を呼び出すことはできません。 FXMLが正常に読み込まれたのはあなただけです。あなたの質問は面白いです。 – GOXR3PLUS
これは私がやっていることですが、 'ExampleSubclass'から' afterInitialize() 'にパラメータを渡す必要があります(おそらく、質問の中で私の悪いことを指定していたはずです) – user3668541
実際に答えが優れています。 '@ PostConstruct'アノテーションについて知っていました。 – GOXR3PLUS