从JavaSwing中的时区获取国家名称

从JavaSwing中的时区获取国家名称,java,swing,localization,timezone,locale,Java,Swing,Localization,Timezone,Locale,我在swing应用程序中实现了这样的功能:我的国家/地区下拉列表应该自动被选中,并且在表单加载时在操作系统中选择了系统国家/地区 我面临一个奇怪的问题,就是无法从Locale对象中获取正确的国家名称。当我从我的任何系统运行代码时,区域设置细节总是显示en-US,尽管我的系统中的语言是英语,但它应该显示在印度而不是我们的国家 然后在我考虑使用TimeZone对象获取国家名称之后,有没有任何方法可以从TimeZone对象获取国家名称?我在Windows7操作系统下运行,我的地区和语言设置显示印度是我

我在swing应用程序中实现了这样的功能:我的国家/地区下拉列表应该自动被选中,并且在表单加载时在操作系统中选择了系统国家/地区

我面临一个奇怪的问题,就是无法从Locale对象中获取正确的国家名称。当我从我的任何系统运行代码时,区域设置细节总是显示en-US,尽管我的系统中的语言是英语,但它应该显示在印度而不是我们的国家


然后在我考虑使用TimeZone对象获取国家名称之后,有没有任何方法可以从TimeZone对象获取国家名称?我在Windows7操作系统下运行,我的地区和语言设置显示印度是我的国家,英语是我的语言。那么这个问题的解决方案是什么呢?我们如何从时区或通过任何其他方式使用任何其他Java类获取国家名称?条件是,它应提供操作系统的国家/地区-在区域和语言设置中指定的国家/地区。

System.getPropertyuser.Country;回到那台机器上?在澳大利亚的这台机器上,我看到了AU。@AndrewThompson系统。getProperty也将同样的东西返回给了我,尽管我现在在印度。我不知道我的系统内的什么设置使我获得美国输出,我关心的是,假设我使用的是来自德国的应用程序,那么我如何使用时区对象或其他方式将德国作为我的系统语言?坦率地说,我希望从系统本身中获得应用程序使用所在国家的名称。请帮助。Iirc,user.country是从语言设置派生的。由于通常在一个时区内有多个国家,我看不到一种方法来精确定位实际的国家。国家设置通常用于确定时区和语言,但由于明显的原因,这无法实现,反之亦然。@MarkusWMahlberg那么,我们是否可以通过其他方式获取系统的国家/地区,即在控制面板的区域设置中指定的国家/地区,这里讨论Windows操作系统的区域设置?需要考虑的是获取正在执行swing应用程序的系统所在的国家/地区。你的知识库中有什么变通方法吗?@VinitSharma:没有。在WebApplications中,我倾向于将国家设置为init参数。有时我会有一个基于域的映射,例如myapp.de映射到德国和myapp.com映射到美国。实际上,这取决于您的用例。你可能想相应地重新表述你的问题,然后写一个新的问题。