簡體   English   中英

在運行時更改Java Swing中的語言

[英]Change Language in java swing at runtime

我想知道是否有可能在Java中重新加載swing應用程序以便設置區域設置。 我正在一個搖擺應用程序項目中使用超過5種語言,並且我已經為每種語言創建了屬性文件。 每當用戶從菜單中選擇一種新語言時,我的應用程序都必須重新啟動才能更改所選語言。 我完全停留在這里,因為如何使用加載的vm參數和新語言重新啟動我的swing應用程序。

供參考的是與我期望的要求相同的網站。 http://teravoice.com/

加載網頁后,選擇一個鏈接,該鏈接將下載一個jnlp並打開應用程序,請使用任何名稱登錄,然后在文件菜單中找到帶有12種語言的子菜單“語言”。 當我單擊一種新語言時,該應用程序將使用新語言和用戶數據(即vm選項)重新啟動。

謝謝。

通過使用ResourceBundle和Locale可以很簡單地通過兩種方式

1)從本地操作系統Locale.getDefault()獲取Locale

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)在運行時設置Locale ,例如,通過在JComboBox中選擇Item ,然后必須刷新(最好是創建單獨的方法,void或類)所有JComponents或方法,所有更改都必須在Event Dispatch Thread上完成

3) 關於I18的一些例子

4)我是IDE用戶,對於區域設置,我使用內置的屬性文件編輯器,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM