我正在使用 JFace 向导,我想在 Next、Back、Finish 和 Cancel 按钮上设置我自己的文本。我发现只有非常古老的建议在今天完全没用。我还找到了一些带有外部 jar 文件的解决方案,但我真的不想将整个库添加到项目中,仅用于在 4 个按钮上设置文本......
有没有合理的解决办法?
提前致谢
经过大量的寻找和尝试,我不得不说没有这样的方法。有一些残酷的解决方案,但与它们相比,在项目中添加一个 jar 文件要容易得多,也好得多。
我将为我引用最佳工作解决方案:
您需要从这里下载语言包:
http://archive.eclipse.org/eclipse/downloads/drops/L-3.2.1_Language_Packs-200609210945/index.php
NLpack2-eclipse-SDK-3.2.1-gtk.zip 在我使用 Eclipse 3.7.2 时对我有用。
从存档中提取 org.eclipse.jface.nl2_3.2.1.v200609270227.jar(或您的语言的其他 nl)并将其添加到您的项目中。它将被自动使用。
这不会让您在按钮上设置文本,但至少可以将文本翻译成您的语言。
看到这个帖子。似乎是您问题的答案。它基本上说使用 WizardDialog 类创建一个对话框。使用您选择的实现创建一个从 Wizard 继承的类,然后执行以下操作:
WizardDialog wizardDialog = new CustomWizardDialog(shell, new YourWizard());
然后在您的 CustomWizardDialog 中执行以下操作:
public class CustomWizardDialog {
@Override
protected void createButtonsForButtonBar(Composite parent) {
super.createButtonsForButtonBar(parent);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
finishButton.setText("FinishButtonText");
Button cancelButton = getButton(IDialogConstants.CANCEL_ID);
cancelButton.setText("CancelButtonText");
}
}
剩下的就是执行wizardDialog.open() 来打开对话框。