【问题标题】:How to set custom text on buttons in JFace Wizard (Java)如何在 JFace 向导 (Java) 中的按钮上设置自定义文本
【发布时间】:2013-08-19 19:38:48
【问题描述】:

我正在使用 JFace 向导,我想在 Next、Back、Finish 和 Cancel 按钮上设置我自己的文本。我发现只有非常古老的建议在今天完全没用。我还找到了一些使用外部 jar 文件的解决方案,但我真的不想将整个库添加到项目中,仅用于在 4 个按钮上设置文本...

有什么合理的解决办法吗?

提前致谢

【问题讨论】:

    标签: java button jface wizard


    【解决方案1】:

    经过大量的寻找和尝试,我不得不说没有这样的方法。有一些残酷的解决方案,但与它们相比,在项目中添加一个 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 您的语言)从存档中添加到您的项目中。这将是 自动使用。

    这不会让您在按钮上设置文本,但至少可以将文本翻译成您的语言。

    【讨论】:

      【解决方案2】:

      看到这个post。似乎是您问题的答案。 它基本上说使用 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()来打开对话框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 2013-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 2018-10-17
        相关资源
        最近更新 更多