Java 在调用addPages()后添加JFace向导页面?

Java 在调用addPages()后添加JFace向导页面?,java,eclipse-plugin,jface,wizard,Java,Eclipse Plugin,Jface,Wizard,我正在尝试创建jface向导。 在我的向导中,我有我的“起始页”。我在“起始页”中选择的选项取决于后面的页面数量。但在我看来,这是不可能的。因为向导启动后调用了addPages()方法。addPage()方法是私有的。但是我需要在那里添加我的页面,因为当我在其他地方这样做时,createControl(复合父级)不会被调用 有什么办法解决这个问题吗? 我想写一个自己的方法,像这样: public void addNewPage() { Page page = new Page("pagename

我正在尝试创建jface向导。 在我的向导中,我有我的“起始页”。我在“起始页”中选择的选项取决于后面的页面数量。但在我看来,这是不可能的。因为向导启动后调用了addPages()方法。addPage()方法是私有的。但是我需要在那里添加我的页面,因为当我在其他地方这样做时,createControl(复合父级)不会被调用

有什么办法解决这个问题吗? 我想写一个自己的方法,像这样:

public void addNewPage() {
Page page = new Page("pagename");
page.createControl(parent);
page.setDescription("");}
...
但它不起作用。
你们有什么办法解决我的问题吗?

你们可以在向导
addPages
中添加所有页面,然后覆盖
getNextPage
,控制按下下一步时显示哪些页面


如果这还不够,您可以始终编写自己的
IWizard
接口实现。

您可以通过覆盖
org.eclipse.jface.wizard.wizard.getNextPage
来实现,如果满足条件(下面代码段中的
conditionForMorePages
),返回一个新页面:

如果向导仅以一页开始,则默认情况下不会显示“上一页”和“下一页”按钮。如果有机会动态执行更多步骤,则需要显示导航按钮。您可以通过使用API设置适当的标志来实现这一点

public void setForcePreviousAndNextButtons(boolean b)

在向导开始时,我甚至不知道我需要哪些(以及多少)页面(包括内容)。因此,似乎没有合适的解决方案。无论如何,谢谢你,我现在要试着写我自己的实现;)
public void setForcePreviousAndNextButtons(boolean b)