我知道我可以在调用对话框时使用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)
。您可能还需要调整按钮栏组合的numColumns
的GridLayout
字段。您可以在向导页面的
setVisible
方法中执行此操作。