2012-11-03 16 views
1

我正在研究一個將翻譯所有硬編碼字符串的庫。Swing中的預定義JDialogs

我有,人有一定的幫助,設法找出所有與之相關的字符串,所以這是一個開始。但是,我注意到,在嘗試將JFileChooser中的文件重命名爲已取得的名稱時,出現錯誤對話框,說我無法做到這一點。

這是Java還是Windows?(運行該程序的操作系統)?

如果是Java,我想知道更多關於如何定製這樣一個JDialog,如果它是Windows,那麼我就不能做很多事情,特別是因爲該程序應該是跨平臺的。

+1

更快地發佈[SSCCE](http://sscce.org/) – mKorbel

+0

[de de deja deja vu ???](http://stackoverflow.com/a/12520992/714968)非常看起來和感覺敏感,默認情況下最重要的區別是SystemLookAndFeel和第二方之間的其餘部分是.. – mKorbel

+0

如果我的答案適合你,不要忘記標記它! – mercutio

回答

1

你可以找到你的JDK的源代碼,您在安裝它的目錄。

在你正在尋找的字符串在 package com.sun.swing.internal.plaf.basic.resources和文件basic.java定義在OpenJDK-7的實現。 該目錄中的其他文件對應不同的翻譯: basic_de.javabasic_es.java,......等等

但是也有一些由Swing類使用的所有字符串常量。

他們當中:

{ "FileChooser.renameErrorFileExists.textAndMnemonic", 
    "Cannot rename {0}: A file with the name you specified already exists. Specify a different file name." }, 

所以你必須找到一種方法來覆蓋屬性FileChooser.renameErrorFileExists.textAndMnemonic更改此對話框。

如果你想翻譯這些字符串是指this answer

不同的Java安裝可能有不同的字符串,因爲這些文件不是官方Java API的一部分。

至於我可以告訴這些文件沒有包含在由Oracle發佈的src.zip