我在eclipse插件中创建了一个带有一些页面的自定义向导。通过扩展WizardPage创建页面。该向导具有Next back Finish和Cancel按钮,一切正常 现在,我想将Finish按钮的名称/文本更改为Done。在eclipse中可以这样做吗?或者我需要自己提供所有按钮,即使这样也没关系。
答案 0 :(得分:4)
这应该做:
@Override
protected void createButtonsForButtonBar(Composite parent) {
super.createButtonsForButtonBar(parent);
Button finish = getButton(IDialogConstants.FINISH_ID)
finish.setText("Done");
setButtonLayoutData(finish);
}
Here是一个相关的问题。
答案 1 :(得分:2)
所以这就是我使用向导的方式:
MyCustomWizard wizard = new MyCustomWizard ("title");
WizardDialog wizardDialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
wizardDialog.open();
现在我创建了一个新类,MyCustomDialog扩展了WizardDialog:
public class MyCustomDialog extends WizardDialog {
public MyCustomDialog(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
}
@Override
public void createButtonsForButtonBar(Composite parent){
super.createButtonsForButtonBar(parent);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
finishButton.setText(windowTitle);
}
}
现在我将创建向导和向导对话框的代码更改为:
MyCustomWizard wizard = new MyCustomWizard ("title");
MyCustomDialog wizardDialog = new MyCustomDialog(Display.getDefault().getActiveShell(), wizard);
wizardDialog.open();
希望对某人有用! :) 感谢帮助@ greg-449和@Baz
答案 2 :(得分:0)
还有一种方法可以更改任何按钮的标签。您可以将WizardDialog类的createButton覆盖为:
@Override
protected Button createButton(Composite parent, int id, String label,
boolean defaultButton) {
if (id == IDialogConstants.FINISH_ID) {
return super.createButton(parent, id,
"Done", defaultButton);
}
return super.createButton(parent, id, label, defaultButton);
}