Java SWT/JFace等效于JComponent.setDefaultLocale()?

Java SWT/JFace等效于JComponent.setDefaultLocale()?,java,swt,jface,Java,Swt,Jface,在Swing中,如果我想设置组件使用的默认语言环境,我可以调用。我想在SWT/JFace中做同样的事情,所以我的JFace对话框使用我选择的区域设置来显示OK/Cancel按钮,等等。在SWT/JFace API中有我可以调用的等效方法吗 我知道我可以调用,但我希望避免这种情况,因为应用程序的其他部分需要将其作为系统默认区域设置,而不是我选择的区域设置。根据我在源代码中看到的内容-尤其是IDialogConstants.OK\u LABEL和类似常量的值来源-JFace完全依赖默认区域设置(lo

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


我知道我可以调用,但我希望避免这种情况,因为应用程序的其他部分需要将其作为系统默认区域设置,而不是我选择的区域设置。

根据我在源代码中看到的内容-尤其是
IDialogConstants.OK\u LABEL
和类似常量的值来源-JFace完全依赖默认区域设置(
locale.getDefault()
)。直接使用SWT,例如,
org.eclipse.SWT.widgets.MessageBox
,甚至会忽略Java默认区域设置,并在系统的区域设置中显示对话框。因此,从我在源代码中看到的情况来看,似乎没有与
JComponent.setDefaultLocale()

等价的SWT/JFace,特别是在
IDialogConstants.OK_LABEL
和类似常量的值来源处,JFace完全依赖于默认的区域设置(
locale.getDefault()
)。直接使用SWT,例如,
org.eclipse.SWT.widgets.MessageBox
,甚至会忽略Java默认区域设置,并在系统的区域设置中显示对话框。因此,据我所知,似乎没有与
JComponent.setDefaultLocale()

等效的SWT/JFace,您应该能够使用您选择的语言环境,使用:

  • swt-nl.jar库(包含在类路径中)
  • 使用类似于java-cp的内容设置user.language库-Duser.language=fr MainApp
请检查下载正确的swt nl包以满足您的需要,有不同的版本可供选择


jerome

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

  • swt-nl.jar库(包含在类路径中)
  • 使用类似于java-cp的内容设置user.language库-Duser.language=fr MainApp
请检查下载正确的swt nl包以满足您的需要,有不同的版本可供选择


jerome

设置
user.language
确实有效,但这似乎是因为它改变了默认的区域设置…如果我打印
locale.getDefault()
我得到
fr\u US
,而不是
en\u US
设置
user.language
有效,但这似乎是因为它改变了默认的区域设置…如果我打印
locale.getDefault()
我得到的是
fr\u US
,而不是
en\u US