2011-06-10 92 views
4

我正在使用外國操作系統(韓文/日文等)的Java程序 擺動組件如FileChooser的顯示是在國外語言中,我需要更改爲英文。如何在Java中設置語言?

java.util.Locale.setDefault(java.util.Locale.ENGLISH); 

JFileChooser chooser = new JFileChooser(); 

chooser.setLocale(Locale.ENGLISH); 

而文件選擇器仍然顯示一切 - 按鈕等在這些外國語言。任何想法如何解決它?

我的JFilechooser按鈕的確定/取消以日語顯示。我正在使用日語Windows。如何將其改爲英文?

回答

4

我並不是要指出明顯的,但很難說您的期望是基於您發佈的代碼。僅改變語言環境將不會修改您發送給用戶界面的Unicode字符;它也不會從一種語言翻譯到另一種語言。更改區域設置是必要的,但還不夠。

+0

我的JFilechooser按鈕的確定/取消以日語顯示。我正在使用日語Windows。 如何將其改爲英文? – 2011-06-10 10:33:01

+0

如果應用程序本地化,則更改PC語言環境應該足夠。 – Simeon 2011-06-10 10:35:54

+0

@Simeon。更改PC語言環境是一個不好的建議。它會影響操作系統上的所有應用程序。 – Kaj 2011-06-10 10:45:39

5

您可以在啓動虛擬機時指定語言。

java -Duser.language=en -Duser.country=US -Duser.variant=US MainClass

+0

對於測試翻譯(ResourceBundle),這在Windows上很適用。謝謝! – tresf 2018-02-06 07:35:22

6

你必須通過JComponent.setDefaultLocale()設置語言環境前湊創建JFileChooser對象。

+0

我試過了,仍然不起作用 – 2011-06-10 10:44:10

+1

'JFileChooser chooser = new JFileChooser(); chooser.setDefaultLocale(Locale.ENGLISH); chooser.setLocale(Locale.ENGLISH);' – 2011-06-10 10:44:20

+0

聽起來很合理 - 我不希望有一個API允許改變awt或swing組件的語言環境 - 這是一個非常罕見的用例,並且實現起來非常困難;) – 2011-06-10 10:45:47

1

你可以使它與下面的代碼一起工作,但JComponent語言環境是一個更好的選擇。

JFileChooser chooser = new JFileChooser(); 
chooser.setLocale(Locale.getDefault()); 
chooser.updateUI(); 
+0

我剛剛嘗試過這個代碼...它的工作原理! :) – Charliemops 2013-07-03 08:15:22