SWT / JFace等同于JComponent.setDefaultLocale()?

时间:2012-02-10 20:27:22

标签: java swt jface

在Swing中,如果我想设置组件使用的默认语言环境,我可以调用JComponent.setDefaultLocale()。我想在SWT / JFace中做同样的事情,所以我的JFace对话框使用我选择的区域设置来显示OK / Cancel按钮等。在我可以调用的SWT / JFace API中是否有等效的方法?

我知道我可以调用Locale.setDefault(),但我想避免这种情况,因为应用程序的其他部分我需要将其作为系统默认语言环境,而不是我选择的语言环境。

2 个答案:

答案 0 :(得分:3)

从我在源代码中看到的内容 - 特别是IDialogConstants.OK_LABEL和类似常量的值来源--JFace完全依赖于默认语言环境(Locale.getDefault())。直接使用SWT,例如org.eclipse.swt.widgets.MessageBox,甚至会忽略Java默认语言环境并在系统的语言环境中显示对话框。所以似乎没有相当于JComponent.setDefaultLocale()的SWT / JFace。

答案 1 :(得分:1)

据我所知,你应该能够使用你选择的语言环境:

  • swt-nl.jar库(包含在类路径中)
  • 使用类似java -cp的方式设置user.language库... -Duser.language = fr MainApp

请检查下载正确的swt-nl包以满足您的需求,不同的可用...

HTH 杰罗姆