1

私はJavaFXで書かれたアプリケーションを持っています(FXMLを使用して)。アプリを国際化しようとしています。私はこのチュートリアルで説明されているようにそれをやろうとしていました。

次のようなテキストを含むプロパティファイルがあります:submit=Войти

FXMLで説明されているボタンがあります。

<Button id="button1" fx:id="submit" layoutX="69.0" layoutY="200.0" onAction="#loginFired" prefHeight="45.0" prefWidth="97.0" text="\%submit" />

プロパティファイルとfxmlファイルは同じディレクトリにあります。

しかし、私のボタンにはテキストがありません。テキストがあると思います。「%submit」と書かれていますが、「Войти」とは書かれていません。それから私はこの1つのチュートリアルのようなことをしようとしました 私の初期化メソッドで私はsuhコードを持っています:

@Override
public void initialize(URL arg0, ResourceBundle resources) {
    if(resources == null)
        System.out.println("error");
}

ログに「エラー」メッセージが表示されます。

だから、私は何が間違っているのですか?

4

1 に答える 1

4
text="\%submit"

\文字とは、次の文字をエスケープすることを意味%します。この場合、出力には「%submit」と書き込まれます。したがって、正しい使用法はtext="%submit"です。

FXMLLoaderを使用してFXMLファイルをロードする場合は、リソースも設定することを忘れないでください。

fxmlLoader.setResources(ResourceBundle.getBundle("bundles.MyBundle", locale));

完全な例については、 JavaFX2と国際化をもう一度見てください。nullでないこと
の結果も確認してください。ResourceBundle.getBundle("bundles.MyBundle", locale)

于 2012-05-15T15:46:29.953 に答える