2017-09-07 8 views
1

JavaクラスにResourceBundleを以下のコードを使用して設定できます。JavaFXのFXMLファイル内でResourceBundleを指定する

FXMLLoader loader = new FXMLLoader(getClass().getResource("my_view.fxml")); 
loader.setResources(MyRes.getBundle());  
//Node myNode = (Node) loader.load(); 

FXMLファイル自体にResourceBundleを指定することはできますか?

答えて

1

<fx:include>も含まコンテンツをローカライズするために使用されるべきリソースバンドルの名前だけでなく、ソースファイルをエンコードするために使用される文字セットを指定するための属性をサポートしています。

<fx:include source="filename" resources="resource_file" charset="utf-8"/> 

ない私が間違っている可能性けれども、私は、私はそれが可能だとは思わない、いくつかの簡単なテストから(その上のドキュメントを見ていないとして、それが含まれたファイルではありません状況について確認してください)。

0

これはどういう意味ですか?

<Label text="%user.fistname"/> 
<Label text="%uset.lastname"/> 

あなた.fxmlファイル内のコンポーネントへのリソースファイルからテキストを追加する%記号を使用することができます。

あなたのリソースファイルには値を持つ2つのキーが含まれていることを考慮してください。 Introduction to FXMLから

+0

コントローラーを検討してください。これは、POJOの 'loader.setController(myController);'または 'fxml' fx:controller = "path.to.MyController" 'から設定することができます。 'loader.setResources(MyRes.getBundle());'はどうでしょうか? POJOで指定できますが、view.fxml内のfxml構文を使用して設定できますか? – Stepan

+0

さて、 'loader.setResources()'では、i18n関連のような '.fxml'ファイルや、リソースファイルからロードできる設定をあなたのリソースに設定します。なぜ外部ファイルからコントローラを設定したいのですか? – Sunflame

関連する問題