我知道我可以在调用对话框时使用createButtonsForButtonBar()添加/删除WizardDialog的新按钮。但是,我希望对话框的按钮可以根据当前显示的WizardPage进行更改。

例如,对于第1页,我有一个名为“编辑”的新按钮。对于第2页,我有一个名为“移动”的新按钮。显示第2页时不应显示“编辑”,而显示第1页时不应显示“移动”。
关于如何实现此目标的任何提示?
谢谢。

最佳答案

createButtonsForButtonBar使用GridLayout布局按钮,并为每个按钮设置GridData。因此,应该能够使用GridData.exclude标志排除布局按钮。

要停止显示按钮,请使用以下命令:

Button button = getButton(button id);
GridData data = (GridData)button.getLayoutData();
data.exclude = true;
button.setVisible(false);


然后,您将不得不在按钮栏组合上调用layout(true)。您可能还需要调整按钮栏组合的numColumnsGridLayout字段。

您可以在向导页面的setVisible方法中执行此操作。

09-27 03:36
查看更多