在运行时更改java swing中的语言

在运行时更改java swing中的语言,java,swing,internationalization,i18n-gem,Java,Swing,Internationalization,I18n Gem,我想知道在java中是否有可能重新加载swing应用程序,以便设置语言环境。我正在从事一个swing应用程序项目,其中使用了5种以上的语言,我已经为每种语言创建了属性文件。每当用户从菜单中选择新语言时,我的应用程序都必须重新启动以更改所选语言。我完全被困在这里,不知道如何用我加载的vm参数和新语言重新启动swing应用程序 作为参考,这里是一个网站,它与我所期望的有相同的要求。 网页加载后,选择下载jnlp的链接,一旦应用程序打开,请使用任何名称登录,并在文件菜单中找到包含12种语言的子菜单“

我想知道在java中是否有可能重新加载swing应用程序,以便设置语言环境。我正在从事一个swing应用程序项目,其中使用了5种以上的语言,我已经为每种语言创建了属性文件。每当用户从菜单中选择新语言时,我的应用程序都必须重新启动以更改所选语言。我完全被困在这里,不知道如何用我加载的vm参数和新语言重新启动swing应用程序

作为参考,这里是一个网站,它与我所期望的有相同的要求。

网页加载后,选择下载jnlp的链接,一旦应用程序打开,请使用任何名称登录,并在文件菜单中找到包含12种语言的子菜单“语言”。当我点击一种新语言时,应用程序会使用新语言和用户数据(即vm选项)重新启动


谢谢。

这很简单,使用

1) 从本机操作系统获取
Locale.getDefault()

2) 在运行时设置,例如,通过在中选择
,然后必须刷新(最好创建单独的方法、void或class)所有JC组件或方法,所有更改都必须在

3) 一些


4) 我是IDE用户,对于区域设置,我使用属性文件的内置编辑器,

,这很简单,可以通过使用

1) 从本机操作系统获取
Locale.getDefault()

2) 在运行时设置,例如,通过在中选择
,然后必须刷新(最好创建单独的方法、void或class)所有JC组件或方法,所有更改都必须在

3) 一些


4) 我是IDE用户,对于区域设置,我使用属性文件的内置编辑器,

这是一个多么烦人的网站。这看起来只是一个增加网站流量的计划。哈。。哈那个网站是阿拉伯文的,这让你有这种感觉。不,不是那个,而是这个网站充斥着很多令人讨厌的动画礼物。是的,它是。。。该网站是阿拉伯人的公共聊天室……多么令人讨厌的网站。这看起来只是一个增加网站流量的计划。哈。。哈那个网站是阿拉伯文的,这让你有这种感觉。不,不是那个,而是这个网站充斥着很多令人讨厌的动画礼物。是的,它是。。。该网站是阿拉伯人的公共聊天室…你能给我提供一个使用netbeans的虚拟项目吗。。我对它的工作原理有点困惑。。如果我得到一个示例代码,我会更好地理解。。谢谢…没什么复杂的尝试,谢谢mkorbel我制作了语言包。。现在我陷入了另一种情况,我使用pack200压缩从13mb压缩到4mb,打包了我的库类文件。但当通过webstart部署时,我在压缩的库jar文件上收到错误消息“无法验证登录资源”。我通过netbeans签署了源代码和库jar文件。JWS不是我的领域,你有以下选择1)在这个论坛上搜索,然后问一个新问题,2)在@Andrew Thompson profile中搜索(关于Applet/JApplet/JWS的许多文档的作者)3)在这里发布详细的问题,希望Andrew触摸到:-)嗨,mkorbel这里是我新问题的链接。。。希望得到答复。。你能给我提供一个使用netbeans的虚拟项目吗。。我对它的工作原理有点困惑。。如果我得到一个示例代码,我会更好地理解。。谢谢…没什么复杂的尝试,谢谢mkorbel我制作了语言包。。现在我陷入了另一种情况,我使用pack200压缩从13mb压缩到4mb,打包了我的库类文件。但当通过webstart部署时,我在压缩的库jar文件上收到错误消息“无法验证登录资源”。我通过netbeans签署了源代码和库jar文件。JWS不是我的领域,你有以下选择1)在这个论坛上搜索,然后问一个新问题,2)在@Andrew Thompson profile中搜索(关于Applet/JApplet/JWS的许多文档的作者)3)在这里发布详细的问题,希望Andrew触摸到:-)嗨,mkorbel这里是我新问题的链接。。。希望得到答复。。
ResourceBundle rb = ResourceBundle.getBundle(
       "com.MyPackage.Properties", Locale.getDefault());

frameTitle = (rb.getString("MyFrame.Title")); //myFrame.setTitle("frameTitle");
trayTitle = (rb.getString("MyFrame.TrayTitle"));
exitTitle = (rb.getString("MyFrame.Exit"));
newInfoTitle = (rb.getString("MyFrame.NewInfo"));
sendTitle = (rb.getString("MyFrame.Send"));