检测操作系统语言何时更改-Java

检测操作系统语言何时更改-Java,java,locale,Java,Locale,我正在用Java编写一个全屏双语应用程序。全屏意味着,桌面下方的语言栏将对用户隐藏,并且。。。我需要它!那么,我如何以编程方式复制它 严格地说,我需要知道当前的操作系统语言是什么,何时发生更改语言事件,以及在需要时设置它的方法。 我应该如何完成任务? 谢谢 获取操作系统语言: System.getProperty("user.language"); System.setProperty("user.language","..."); //... = What language you want

我正在用Java编写一个全屏双语应用程序。全屏意味着,桌面下方的语言栏将对用户隐藏,并且。。。我需要它!那么,我如何以编程方式复制它
严格地说,我需要知道当前的操作系统语言是什么,何时发生更改语言事件,以及在需要时设置它的方法。
我应该如何完成任务?

谢谢

获取操作系统语言:

System.getProperty("user.language");
System.setProperty("user.language","..."); //... = What language you want to set it to
设置操作系统语言:

System.getProperty("user.language");
System.setProperty("user.language","..."); //... = What language you want to set it to

如果您只想通过组合框或其他方式更改程序内部的语言,只需向组件添加ActionListener,并使用前面提到的set方法来设置语言
System.setProperty(“user.language”,yourComboBox.getText())然后您可以通过简单的if语句在程序中设置语言。

在Java中使用多种语言通常意味着使用多种语言环境

使用其中一个

Locale defaultDisplayLocale = Locale.getDefault(Locale.Category.DISPLAY);

取决于要使用的区域设置


顺便说一句,在标准库中没有独立于操作系统的方法来检测操作系统语言的变化。您可能必须手动重新启动应用程序。

可能与As重复,以便在其更改时检测,我猜想除了轮询之外,没有其他方法可以做到。@Cheesebaron-Nay!或不完全是!你提到的问题只是我三个问题中的一个@是的,我早就料到了!我尝试了解决方案。。。甚至投票!没有帮助!还有别的主意吗?!我想知道为什么Java不支持这样的东西!