Проверка локалей - это легко? - PullRequest
2 голосов
/ 12 августа 2011

Как проверить, сколько локалей поддерживается моей JVM?Есть какой-то способ сделать это или что-то еще?
Спасибо

Ответы [ 2 ]

6 голосов
/ 12 августа 2011

Вы можете проверить локали, используя метод Locale.getAvailableLocales();.

код

import java.util.Arrays;
import java.util.Locale;

import javax.swing.table.*;
import javax.swing.*;

class ShowLocales {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Locale[] locales = Locale.getAvailableLocales();
                LocaleTableModel tableModel = new LocaleTableModel(locales);
                JTable localeTable = new JTable(tableModel);
                localeTable.setAutoCreateRowSorter(true);
                JOptionPane.showMessageDialog(
                    null, 
                    new JScrollPane(localeTable));
            }
        });
    }
}

class LocaleTableModel extends AbstractTableModel {

    private Locale[] locales;

    LocaleTableModel(Locale[] locales) {
        this.locales = locales;
    }

    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return "Code";
            case 1:
                return "Language";
            case 2:
                return "Country";
            case 3:
                return "Variant";
        }
        return "";
    }

    public Object getValueAt(int row, int column) {
        switch (column) {
            case 0:
                return locales[row].toString();
            case 1:
                return locales[row].getDisplayLanguage();
            case 2:
                return locales[row].getDisplayCountry();
            case 3:
                return locales[row].getDisplayVariant();
        }
        return null;
    }

    public int getRowCount() {
        return locales.length;
    }

    public int getColumnCount() {
        return 4;
    }
}

Е.Г.

Some locales known to JVM

1 голос
/ 12 августа 2011

См .: http://java.sun.com/developer/technicalArticles/J2SE/locale/

Какие локали поддерживает платформа Java?Вы можете создать любую локаль, которая вам нравится.Однако ваша среда выполнения может не полностью поддерживать созданный вами объект Locale .

Если вы хотите узнать, какие объекты Locale вы можете создать, ответ прост:Вы можете создать любую локаль, какую захотите.Конструкторы не будут жаловаться на аргументы, отличные от ISO.Однако более полезное повторение вопроса таково: для каких языков библиотеки классов предоставляют более обширную информацию?Для каких локалей библиотеки могут предоставлять информацию о времени, дате, количестве и валюте?Также вы можете спросить, какие сценарии или системы записи поддерживает ваша среда выполнения.

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