SWT / JFace эквивалентно JComponent.setDefaultLocale ()? - PullRequest
2 голосов
/ 11 февраля 2012

В Swing, если я хочу установить стандартную локаль, используемую компонентами, я могу позвонить JComponent.setDefaultLocale(). Я хочу сделать то же самое в SWT / JFace, поэтому в моих диалоговых окнах JFace для отображения кнопок OK / Отмена и т. Д. Используется локаль по моему выбору и т. Д. Есть ли в SWT / JFace API эквивалентный метод, который я могу вызвать?

Я знаю, что могу позвонить Locale.setDefault(), но я бы хотел этого избежать, потому что есть другие части приложения, где мне нужно, чтобы это был языковой стандарт по умолчанию системы, а не языковой стандарт по моему выбору.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Из того, что я видел в исходном коде - особенно там, где берутся значения IDialogConstants.OK_LABEL и подобные константы - JFace полностью полагается на локаль по умолчанию (Locale.getDefault()).Непосредственное использование SWT, например org.eclipse.swt.widgets.MessageBox, даже игнорирует локаль Java по умолчанию и отображает диалог в локали системы.Так что, похоже, нет никакого SWT / JFace эквивалента JComponent.setDefaultLocale().

1 голос
/ 15 февраля 2012

Насколько я знаю, вы должны иметь возможность использовать выбранную вами локаль, используя:

  • библиотека swt-nl.jar (будет включена в ваш путь к классам)
  • установка библиотеки user.language с чем-то вроде этого java -cp ... -Duser.language = fr MainApp

Пожалуйста, проверьте, чтобы загрузить правильный пакет swt-nl для ваших нужд, доступны другие...

HTH Джером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...