gpt4 book ai didi

java - Eclipse J 面向导 : How to create next page dynamically?

转载 作者:行者123 更新时间:2023-12-02 09:39:14 26 4
gpt4 key购买 nike

我有一个带有单个页面的 Eclipse JFace 向导(我们称之为 page1),使用 addPage(page1) 将其添加到 mainWizard 中>.

我希望有第二个页面 (page2),但这只能根据 page1 确定的值创建(因此无法添加到 >mainWizard)

有没有办法可以在按下下一步按钮时从page1添加此内容以进行创建?

编辑:目前我已经在 page1 中创建了新页面,然后重写了 getNextPage() 如下

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

虽然我没有收到“页面未填充”消息,但当我按“下一步”时,我在 WizardDialog.setWizard 上遇到了 NullPointerException

最佳答案

org.eclipse.jface.wizard.Wizard 拥有在现有步骤末尾动态添加页面所需的一切。您可以通过重写 getNextPage 来实现此目的,以便在满足条件时返回新页面:

@Override
public IWizardPage getNextPage() {
IWizardPage nextPage = super.getNextPage(page);
if (nextPage == null) {
if (userInputRequiresMorePage){
// The user input is such that we need an additional page to append to the wizard.
IWizardPage nextPage = new MyAdditionalPage();
}
}
return nextPage;
}

如果您的向导仅从一页开始,则默认情况下不会显示“后退”和“下一步”按钮。由于您可能需要更多步骤,因此您希望显示它们。您可以通过使用 API 设置正确的标志来实现此目的

public void org.eclipse.jface.wizard.Wizard.setForcePreviousAndNextButtons(boolean b)

关于java - Eclipse J 面向导 : How to create next page dynamically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com