在运行时更改 java swing 的语言
我想知道这在java中是否可能,我想重新加载swing应用程序,以便我可以设置区域设置。我正在开发一个 swing 应用程序项目,其中使用了超过 5 种语言,并且我已经为每种语言创建了属性文件。每当用户从菜单中选择新语言时,我的应用程序都必须重新启动才能更改所选语言。我完全被困在这里,如何使用加载的虚拟机参数和新语言重新启动我的 swing 应用程序。
这里供参考的是与我期望的要求相同的网站。 http://teravoice.com/
网页加载后,选择一个下载 jnlp 的链接,一旦应用程序打开,请使用任意名称登录,在文件菜单中您可以找到包含 12 种语言的子菜单“语言”。当我单击新语言时,应用程序会使用新语言和用户数据(即虚拟机选项)自行重新启动。
谢谢。
I would like to know if this is possible in java that i want to reload a swing app so that i can set locale. Im working on a swing app project where more than 5 languages used and i have already created property file for each language. Whenever user selects a new language from menu my app has to restart to change the selected language. Im totally stuck here as how to restart my swing app with my loaded vm arguments and new language.
For reference here is the website which has the same requirement as what i expect.
http://teravoice.com/
After web-page loads select a link which download a jnlp and once app opens, please login with any name and in the file menu you find a sub menu "language" with 12 languages. when i click on a new language the app restarts itself with the new language and with user data (i.e. vm options).
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这很简单,可以通过使用 ResourceBundle 和 Locale 两种方式
1)来自本机操作系统的
Locale
Locale.getDefault()
2) 设置 运行时上的区域设置,通过在JComboBox,那么你必须刷新(最好是创建单独的方法、void 或类)所有 JComponent 或方法,所有更改都必须在 事件调度线程
3) 一些有关 I18 的示例
4)我是 IDE 用户,对于区域设置,我使用内置 -在属性文件编辑器中,
that's simple possible two ways by using ResourceBundle and Locale
1) take
Locale
from Native OSLocale.getDefault()
2) set Locale on Runtime, f.e by selecting
Item
in the JComboBox, then you have to refresh (better would be to create separated method, void or class) all JComponents or methods, all changes must be done on Event Dispatch Thread3) some examples about I18
4) I'm IDE user and for Locale I use built-in editor for properties File,