5ページのEclipse JFaceウィザードがあります。最初に、どのページを表示するかを選択するためのチェックボタンがあります。すべてをチェックするとウィザード全体が表示されますが、特定のページだけを選択してもそのページだけが表示されます。JFace Eclipse Wizardページからカスタムナビゲーションを実行する方法は?
これまでは、各ページを表すenumオブジェクトを使用してイテレータを使用しました。私はgetNextPage
関数のイテレータの次のオブジェクトとそのif..elseの場合を適切な順序で特定のページを返すように呼びました。問題は、次の場合はボタンが押されたときだけでなく、pageCompleteイベントが発生したときなどにも、getNextPage
が呼び出されるだけでなく、イテレータはカーソルを必要に応じて更新しないため、高速に終了します。これは私の仮定の抜粋です:
else if(page == FirstPage)
{
// iterator contains SelectedAction - enum objects representing pages
this.pageIterator = page.getWizardPagesList().iterator();
if(pageIterator.hasNext())
{
return selectedActionToPage(pageIterator.next());
}
}
else
{
if(pageIterator.hasNext())
{
SelectedAction action = pageIterator.next();
if(!pageIterator.hasNext())
{
// we check if current page was last one
setFinished(true);
setLastPage(selectedActionToPage(action));
}
// selectedActionToPage converts enum object to WizardPage class
return selectedActionToPage(action);
}
else if((pageIterator != null) && !pageIterator.hasNext())
{
return page;
}
}
return page;
、私が知りたい事がある:
まず、クリック次ボタンをキャプチャする他の方法はありますか?私はメソッドがWizardDialogクラスにあることを知っていますが、私のウィザードクラスまたはWizardPageからそのインスタンスを呼び出す方法はわかりません。 第2に、指定したページに移動するために、ページを介してナビゲーションをカスタマイズする別の方法はありますか?