2

usingpage1に追加された単一のページ ( this と呼びましょう) を持つ Eclipse JFace ウィザードがあります。mainWizardaddPage(page1)

2 番目のページ ( page2) が必要ですが、これは から決定された値からのみ作成できますpage1(したがって、 に追加することはできませんmainWizard) 。

次のボタンpage1を押したときにこれを追加して作成する方法はありますか?

編集:現在、新しいページを で作成し、次のようpage1にオーバーライドしましたgetNextPage()

@Override
public IWizardPage getNextPage() {
 if (page2 != null) {
  return page2;
 }
 System.err.println("page not populated");
 return null;
}

「ページが読み込まれていません」というメッセージは表示されませんが、次を押すとNullPointerExceptiononがヒットしWizardDialog.setWizardます。

4

3 に答える 3

3

JFace ウィザードを作成する際の一般的なアプローチは、Wizardクラスを拡張し、addPages()メソッドにページを追加することです。これは多くの場合に便利ですが、IWizardインターフェイスを直接実装することを選択して、ページの作成と順序付けに必要なすべての制御を行うことができます。

于 2013-10-03T16:07:18.433 に答える
1

コンポジットだけを持つ 2 番目のページを作成addPageし、ウィザードでそれを呼び出すことができますaddPages

2 番目のページでは、メソッドをオーバーライドしsetVisible(boolean)、ページが表示されるときに必要なコントロールを作成します。

于 2013-10-03T15:52:21.370 に答える