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.