2017-09-01 7 views
0

Wizardを作成した後、FrontPageというWizardPageという名前を作成し、ウィザードのaddPageメソッドでウィザードに追加しました。wizardページを動的に追加して結果を返す

addPageメソッドに1ページしかないので、[次へ]ボタンは表示されません。私はそれを見せたい。

FrontPagenextPressedメソッドでは、クラスが別の言語で書かれたプログラムを実行する別のJavaクラスのインスタンスを作成しました。そのプログラムのいくつかの点で、ウィザードページを動的に作成する必要があります。この目的のために、私はプログラムに貢献するJavaクラスを作成しました。このクラス、すなわちinterfaceRuleは、他のプラグインにwizardPageのインスタンスを作成します。

私の質問は、このウィザードページをメインウィザードにどのように追加できますか?また、ユーザーがwizardPageで選択した値をinterfaceRuleクラスに戻すにはどうすればよいですか?

編集:

public IWizardPage getNextPage() { 
    boolean isNextPressed = "nextPressed".equalsIgnoreCase(Thread.currentThread().getStackTrace()[2].getMethodName()); 
    if (isNextPressed) { 
     boolean validatedNextPress = this.nextPressed(); 
     if (!validatedNextPress) { 
      return this; 
     } 
    } 
    return super.getNextPage(); 
} 
+0

1つの質問で複数の質問をしないでください。 –

答えて

1

はあなたが常に表示されるボタンを強制するためのウィザードのコンストラクタでsetForcePreviousAndNextButtons(true)を呼び出すことができますWizard

を拡張するクラスで、[次へ]ボタンを制御するには、いくつかの方法があります。

needsPreviousAndNextButtonsメソッドをオーバーライドして、ボタンが動的に必要かどうかを判断できます。

あなたはgetNextPageメソッドオーバーライドすることができます。次の(もgetPreviousPage)に示されているページを正確に制御することが

public IWizardPage getNextPage(final IWizardPage page) 

を。

+0

'getNextPage'をどのように使って実装するのか分かりません。 FrontPageのこのメソッドは、すでに投稿の編集部分の形式です。 –

+0

どこで 'getNextPage'をオーバーライドすべきですか? –

+0

私がここで説明したすべては、 'Wizard'を拡張するクラスのためのものです。 –

関連する問題