Java 检查区域设置-容易吗?
如何检查我的JVM支持多少地区?有什么方法可以这样做吗?Java 检查区域设置-容易吗?,java,internationalization,Java,Internationalization,如何检查我的JVM支持多少地区?有什么方法可以这样做吗? 谢谢请参见: Java平台支持哪些地区?您可以创建您想要的任何区域设置。但是,运行时环境可能不完全支持您创建的区域设置对象 如果你想知道你可以创建什么语言环境对象,答案很简单:你可以创建任何你想要的语言环境。构造函数不会抱怨非ISO参数。然而,对这个问题更有用的重申是:类库为哪些地区提供了更广泛的信息?库可以为哪些地区提供排序规则、时间、日期、数字和货币信息?此外,您可能会询问运行时环境支持哪些脚本或编写系统 您可以使用Locale.ge
谢谢请参见: Java平台支持哪些地区?您可以创建您想要的任何区域设置。但是,运行时环境可能不完全支持您创建的区域设置对象 如果你想知道你可以创建什么语言环境对象,答案很简单:你可以创建任何你想要的语言环境。构造函数不会抱怨非ISO参数。然而,对这个问题更有用的重申是:类库为哪些地区提供了更广泛的信息?库可以为哪些地区提供排序规则、时间、日期、数字和货币信息?此外,您可能会询问运行时环境支持哪些脚本或编写系统
您可以使用
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;
}
}