Динамическое создание пользовательского интерфейса JavaFX на лету

Я новичок в JavaFX. Все еще возимся с несколькими образцами, чтобы попытаться решить, сработает ли это для приложения, которое мы пытаемся создать. Первая фаза нашего приложения - это своего рода этап ввода данных, когда пользователи будут готовы ответить на множество вопросов, и его ответы будут записаны. Уловка здесь в том, что другая команда строит набор вопросов, и эти вопросы находятся в XML, как это.

<?xml version="1.0" encoding="UTF-8"?>
<userData>    
<question id="Q1" type ="desc">
    <text>Enter the name of the Component</text>
</question>
<question id ="Q2" type ="list">
    <text>Select mechanism type</text>
    <choices>
        <choice> Type 1 </choice>
        <choice> Type 2 </choice>
        <choice> Type 3 </choice>
        <choice> Type 4 </choice>
    </choices>
</question>
<question id ="Q5" type="yesNo">
    <text> Whether the parts have been verified by the supervisor? </text>
</question>
<question id ="Q6" type="yesNo">
    <text> Whether the component is available within the domicile </text>
</question>
<question id ="Q7" type="value">
    <text> Enter the quantity </text>
</question>
<question id ="Q8" type="value">
    <text> Enter the unit price </text>
</question>
</userData>

Он соответствует различным полям, таким как наличие булевой радиокнопки, если ее тип yesNo, раскрывающийся список в случае списка, текстовое поле для значений и так далее. Эти вопросы могут меняться в зависимости от пользователя, поэтому пользователь может настроить вопросы с помощью этого файла.

Идея состоит в том, чтобы загрузить этот XML во время запуска приложения, проанализировать их и создать соответствующие компоненты пользовательского интерфейса на лету. Можно ли добиться этого с помощью JavaFX? Я сделал небольшой прототип этого приложения, используя файл FXML, созданный с помощью SceneBuilder. Но хитрость заключается в том, чтобы сгенерировать файл FXML, необходимый для создания этого компонента пользовательского интерфейса для запросов программным способом после анализа XML-файла вопросов, который был загружен во время запуска.

Что является хорошим началом для достижения этой функциональности?

Ответы на вопрос(1)

Ваш ответ на вопрос