3

我已经查看并找不到可以处理摆动组件数据的许可问题的库。

因此,我决定创建自己的并将其公开...

唯一的问题是我真的不知道语言字符串包含在哪里......

如果有人愿意告诉我在 src 文件夹中的位置,我会非常乐意创建一个可以像这样工作的库:

libraryClassName.JFileChooser.setJFileChooserStringValue(string);

Swing在文件夹中提到com/sun/java,它也在javax文件夹中。有许多类包括每个组件的摆动组件的名称(JFileChooser.javaFileChooserUI.javaBasicFileChooserUI.javaMetalFileChooserUI.javaMultiFileChooserUI.javaFileChooserPainter.java等),还有许多更通用的类,它们可能包含也可能不包含本地化所需的字符串值。

我想,当找到一个组件的字符串值时,所有其他组件都应该在相应的位置。

所以,如果你能帮我解决这个问题,我会创建一个库来减轻这么多试图翻译他们的程序的程序员的痛苦......

重要编辑: JFileChooser 是唯一具有预定义字符串的 Swing 组件吗?

4

1 回答 1

1

好的,我会尽量不偷懒,帮助你解决这个问题:

文件 /src/javax/swing/plaf/basic/BasicFileChooserUI.java 有一个名为 installStrings 的好方法(第 282 行),其中包含您所追求的内容:

protected void installStrings(JFileChooser fc) {

        Locale l = fc.getLocale();
        newFolderErrorText = UIManager.getString("FileChooser.newFolderErrorText",l);
        newFolderErrorSeparator = UIManager.getString("FileChooser.newFolderErrorSeparator",l);

        newFolderParentDoesntExistTitleText = UIManager.getString("FileChooser.newFolderParentDoesntExistTitleText", l);
        newFolderParentDoesntExistText = UIManager.getString("FileChooser.newFolderParentDoesntExistText", l);
// ...
}

看来您实际需要找到的是对 的调用UIManager.getString(String, Locale),它似乎包含您要查找的密钥。实际的方法定义可能会揭示更多的秘密,但我懒得去检查它;)

于 2012-11-03T17:43:52.700 回答