3

Swing コンポーネント データのライカライズの問題を処理するライブラリを探しましたが、見つかりませんでした。

したがって、私は自分自身を作成し​​て公開することにしました...

唯一の問題は、言語文字列がどこに含まれているのか本当にわからないことです...

src フォルダのどこを見ればよいか教えてくれる人がいたら、次のようなライブラリを喜んで作成します。

libraryClassName.JFileChooser.setJFileChooserStringValue(string);

Swingcom/sun/javaフォルダーに記載されており、javaxフォルダーにもあります。コンポーネントごとのスイング コンポーネントの名前 ( JFileChooser.javaFileChooserUI.javaBasicFileChooserUI.javaMetalFileChooserUI.java、など) を含む多くのクラスと、ローカライズに必要な文字列値を含む場合と含まない場合がある、より多くの一般的なクラスがありますMultiFileChooserUI.javaFileChooserPainter.java

1 つのコンポーネントの文字列値が見つかった場合、他のすべてのコンポーネントは対応する場所にあるはずです。

それで、あなたがこれを手伝ってくれたら、プログラムを翻訳しようとしている非常に多くのプログラマーの苦しみを和らげるライブラリを作ります...

重要な編集: 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 に答える