[英]How to dynamically add JFace WizardPage
我目前正在嘗試使用JFace向導為應用程序實現“導入向導”。
基本上,我必須根據用戶的輸入添加下一頁“及時”,因為向導中的每個“步驟”都取決於前一個。
因此,在WizardImport的構造函數中,我將使用以下命令添加第一頁:
addPage(new WizardImportSourcePage(data));
然后,我要在此頁面(WizardImportSourcePage)中添加下一頁,具體取決於所選的來源,例如:
btnCsv.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
data.getWizard().addPage(new WizardImportSourcePage(data));
setPageComplete(true);
}
});
如您所見,所有這些都發生在適當的偵聽器中。 不幸的是,這不起作用。 該向導缺少“下一步”按鈕,但僅顯示“完成”按鈕,因為在實際按下該按鈕之前,它對下一頁一無所知。 我已經嘗試調用updateButtons()
,但是它沒有任何改變。
那么,有什么建議可以使它起作用嗎? 動態構建向導頁面的正確方法是什么? 大多數教程似乎都假定頁面是在開始時創建的,只有使用getNextPage()
才能更改順序。
在代碼擴展Wizard
您可以覆蓋
public IWizardPage getNextPage(IWizardPage page)
在給定當前向導頁面的情況下,它可以讓您決定下一個要返回的頁面(還有一個getPreviousPage
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.