Я тестирую и открываю JavaFX.FXML, тег скрипта и метод инициализации
В JavaFX FXML documentation about controllers говорится, что если контроллер имеет метод public void initialize()
, он вызывается после загрузки графика FXML.
Возможно ли сделать что-то подобное, но из файла FXML в сценарии? Я пробовал что-то подобное, но initialize()
вообще не вызывается.
<?xml version="1.0" encoding="UTF-8"?>
<?language javascript?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns:fx="http://javafx.com/fxml">
<fx:script>
importClass(java.lang.System);
function initialize() {
System.out.println('hello');
}
</fx:script>
<Button text="Button" />
</AnchorPane>
Пропустить что-то или просто невозможно сделать из файла FXML?
Есть ли какое-то обходное решение, поэтому файл FXML может вставлять некоторые коды, которые будут автоматически выполняться после его загрузки (без использования внешнего файла контроллера Java)?
Довольно просто :-) Я сравнил его с выполнением инициализации в контроллере: встроенный скрипт даже выполняется перед контроллером. –