如何检查JVM支持的语言环境数量?是否有一些方法可以做到这一点或其他什么? 感谢
答案 0 :(得分:6)
您可以使用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;
}
}
答案 1 :(得分:1)
请参阅:http://java.sun.com/developer/technicalArticles/J2SE/locale/
Java平台支持哪些语言环境?您可以创建任何您喜欢的区域设置。但是,您的运行时环境可能不完全支持您创建的 Locale 对象。
如果您想知道可以创建的 Locale 对象,答案很简单:您可以创建任何您想要的语言环境。构造函数不会抱怨非ISO参数。但是,问题的一个更有用的重述是:对于哪些语言环境,类库提供了更广泛的信息?图书馆可以为哪些区域设置提供整理,时间,日期,数字和货币信息?此外,您可能会询问运行时环境支持哪些脚本或编写系统。