Clone JavaFX Node?

Я создал Node (AnchorPane) в построителе сцен JavaFX и задавался вопросом, как клонировать его.

Я видел Duplicate/Clone Node в JavaFX 2.0, но мне нужно клонировать Node без повторной загрузки файла fxml.

Есть ли способ добиться этого в JavaFX 2?

Ответ 1

В платформе JavaFX не существует такой функции node duplication, вам нужно написать свой собственный, который анализирует свойства node, которые вас интересуют в клонировании, и создает новый node с требуемыми свойствами,

Использование шаблона fxml для определения node, вероятно, самый простой способ сделать это для node со статическими свойствами инициализации - но затем, как вы заявляете в своем вопросе, вы не хотите использовать fxml для этого, поэтому вам придется закодировать свою логику клонирования в Java.

Ответ 2

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

Затем вы можете загрузить отдельный файл столько раз, сколько необходимо, добавив узлы к соответствующему корню в основной сцене.

Кроме того, вы можете отредактировать элемент <fx:include source="..."/> в главном файле .fxml и включить отдельный файл .fxml. Затем вы можете работать с ним в JavaFX Builder.