如何让Locale.setDefault()在我的JavaFX应用程序中工作

时间:2018-01-02 19:35:25

标签: java javafx localization locale

我正在开发一个项目,如果Locale.getDefault()调用返回的不是我自己的语言环境,则需要测试本地化是否正常。我遇到过使用Locale.setDefault()来设置测试的默认语言环境的例子,但它在我的代码中不起作用。我一直收到错误。

event.x

根据我的理解,上面的行应该将默认语言环境设置为西班牙语。 相反,我在Netbeans内部收到一个错误,即错误的类型开始。 我不确定是什么导致这个或者我需要在我的代码中的其他地方设置默认语言环境。 以下是该行代码之前的所有内容

Locale.setDefault(new Locale("es"));

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

该行

Locale.setDefault(new Locale("es"));

未包含在类文件的可执行部分中。由于它是方法调用而不是赋值,因此需要在方法或构造函数中。如果要在加载类时运行它,请将其包装在静态块中:

static {
    Locale.setDefault(new Locale("es"));
}

由于这是一个FXML控制器类,所以你也可以把它放在initialize方法中。

@FXML
void initialize() {
    Locale.setDefault(new Locale("es"));
    ...
}