Изменение локали во времени выполнения в Swing

Все, что вам нужно сделать, это назначить это свойство:

img {
    display: block;
}

У изображений по умолчанию есть это свойство:

img {
    display: inline;
}
21
задан Tony Eichelberger 5 March 2009 в 18:28
поделиться

3 ответа

  1. У вас есть метод, который используется для изменения локали приложения (и, возможно, для сохранения нового значения) и другой для получения локализованных строк.

  2. Создайте интерфейс:

     interface LocaleChangeListener {
     void onLocaleChange ();
    }
    

    Реализуйте его с помощью компонентов пользовательского интерфейса, которые должны иметь возможность изменять языковой стандарт во время выполнения и устанавливать новые значения в переопределениях onLocaleChange () .

  3. Теперь, есть список слушателей, о которых будет уведомляться изменение локали по первому методу.

13
ответ дан 29 November 2019 в 21:17
поделиться

Можно хотеть сохранить предпочтение языка и затем потребовать, чтобы перезапуск приложения для изменений вступил в силу.

Затем необходимо быть в состоянии использовать Locale.setDefault(Locale.<desired language>); на запуске до рендеринга GUI. Это должно правильно переключить Вашу локаль, которая приведет к желаемому .properties загружаемому файлу (файлам).

2
ответ дан 29 November 2019 в 21:17
поделиться

Существует два очевидных подхода, которые я вижу:

Вместо того, чтобы добраться String от эти ResourceBundle, получите некоторый источник события String держатель. Document было бы очень тяжелое решение, но что-либо, что может обработать замену неизменного значения, сделает. Вместо того, чтобы просто установить текст на маркировке, скажем, имеют метод, который также настраивает слушателя. Отметьте, это вполне "тяжелое" решение.

, С другой стороны, имеют центральный репозиторий слушателей, которые уволены в изменение локали, что каждый тогда возвращается и повторно выполняется, соответствующая часть набора кодируют (не копируйте). Для общих падежей, где Вы имеете, скажем, JLabel использование строки ресурса буквально, тогда можно объединить их все в одного слушателя с WeakHashMap<JLabel,String>. Иногда это удается лучше для ухода от большого количества маленьких слушателей.

-1
ответ дан 29 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: