Укажите ResourceBundle в файле FXML в JavaFX

Можно установить ResourceBundle в классе Java, используя приведенный ниже код.

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

Можно ли указать ResourceBundle в самом файле FXML?


person Stepan    schedule 07.09.2017    source источник


Ответы (2)



Вы имеете в виду это?

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

Вы можете использовать знак %, чтобы добавить текст из файла ресурсов в компонент в вашем файле .fxml.

учитывая, что ваш файл ресурсов содержит эти два ключа со значениями.

person Sunflame    schedule 07.09.2017
comment
Рассмотрим контроллер. Его можно установить из POJO loader.setController(myController); ИЛИ из fxml fx:controller="path.to.MyController". А loader.setResources(MyRes.getBundle());? Его можно указать в POJO, но можно ли установить его с помощью синтаксиса fxml внутри view.fxml? - person Stepan; 08.09.2017
comment
Хорошо, но в loader.setResources() вы устанавливаете свои ресурсы для своего .fxml файла, например вещи, связанные с i18n, или любые настройки, которые вы можете загрузить из файла ресурсов. Почему вы хотите установить контроллер из внешнего файла? - person Sunflame; 08.09.2017