0

我正在运行 JFace 向导期间添加新的动态页面,方法是覆盖该getNext方法

public IWizardPage getNextPage()
{
    for (int i=0; i<10; i++)
    {   
        MyPage dynamic = new MyPage("dynamic"+i)
        wizard.addPage(dynamic);
    }
    return dynamic0;
}   

是否有一个选项可以在下次流程通过getNextPage()方法时删除所有动态页面。

4

1 回答 1

0

通常,预先创建页面以使向导能够计算其最大大小。“即时”添加页面可能会在该领域产生问题。

话虽如此,没有办法进入包含要从该列表中删除页面的页面的“页面”字段。

一种替代方法是将页面“标记”为非活动状态并在 getNextPage() 计算期间跳过它。

类似于(这是来自 IWizard 的 getNextPage):

public IWizardPage getNextPage(IWizardPage pPage)
{
    MyPage myPage = (MyPage) super.getNextPage(pPage);
    while(myPage != null && myPage.isInactive())
      {   
        myPage = (MyPage) super.getNextPage(myPage);
    }
    return myPage;
}  
于 2015-01-26T12:33:57.503 回答