0

我想知道这在java中是否可行,我想重新加载一个swing应用程序以便我可以设置语言环境。我正在开发一个使用超过 5 种语言的摇摆应用程序项目,并且我已经为每种语言创建了属性文件。每当用户从菜单中选择一种新语言时,我的应用程序必须重新启动以更改所选语言。我完全停留在这里,因为如何使用加载的 vm 参数和新语言重新启动我的 Swing 应用程序。

供参考的是与我期望具有相同要求的网站。 http://teravoice.com/

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

谢谢你。

4

1 回答 1

7

使用ResourceBundle 和 Locale有两种简单的方法

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

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"));

2) 在 Runtime 上设置Locale , fe 通过ItemJComboBox中选择,然后您必须刷新(最好是创建单独的方法、void 或类)所有 JComponents 或方法,所有更改必须在Event Dispatch Thread上完成

3)关于I18的一些例子

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

于 2012-01-18T16:41:14.417 回答