私のシナリオ (修正を歓迎します) では、ナビゲーションとコンテンツ パネルを備えたメイン ページがあります。
main
|
+--- Navigation (sets contents in ContentPage)
|
\--- ContentPage
ここで、実際に内容を変更できるようにNavigation
参照が必要です。ContentPage
つまり、main
がビルドされたときに、 に渡す必要がありContentPage
ますNavigation
。これは私が現在使用しているコードです:
public class Main extends Composite {
@UiField
Panel contentPanel;
@UiFactory
Navigation makeNavigation() {
return new Navigation(contentPanel);
}
interface MyUiBinder extends UiBinder<Widget, Middle> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
public Main() {
initWidget(uiBinder.createAndBindUi(this));
}
}
問題は、makeNavigation が呼び出された時点では UiField contentPanel
まだ設定されていない (null である) ことです。呼び出されたという保証がないので、これは合理的だと思いinitWidget
ます。
それで、私はこれに間違って近づいていますか?作成順序を選択する方法はありますか?