|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Здравствуйте. Имеется TabPane с вкладками Tab. Мне необходимо создать новую вкладки и скопировать на нее содержимое (контролы и их размещение, а в идеале и содержимое, если пользователь в них что-то изменил) одной из существующих вкладок. Подскажите, как это можно реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 11:11 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Новую вкладку создать легко. Добавить на нее контрол - тоже проблем не составляет. Вопрос в том, как скопировать достаточно сложную форму полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 11:13 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Нашел вот такой класс, добавил его в проект: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Использую вот таким образом: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Работает следующим образом: 1. Вкладка, на которой находится newRequestAncor, и которую я пытаюсь скопировать, становится пустой 2. На новую вкладку заносятся компоненты из копируемой вкладки, но размещение не копируется и на форме получается каша. Мне же нужно, чтобы компоненты скопировались вместе с размещением, и чтобы исходная вкладка осталась. Как мне это победить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:05 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Павел Гужанов, Если, к прммеру у Вас на некотором Pane находится Button, то как Вы эту кнопку скопируете? Если требуется копировать только объекты типа Pane без их содержимого, отличного от Pane, то все можно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:17 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
В список нодов из показанного мной кода попадают все ноды, в том числе и button. И они вставляются в новую вкладку. Но почему-то удаляются из исходной вкладки ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:23 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Павел Гужанов, Помимо всего прочего, Вы пытаетесь копировать ССЫЛКИ на узлы. При этом, попытка добавить сhild элемент одного Pane приводит к тому. что автоматически удаляется этот child из списка children исходного Pane. Общее правило: Объект типа Node может быть в одном и только одном списке children. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:27 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Valery ShiskinПавел Гужанов, Помимо всего прочего, Вы пытаетесь копировать ССЫЛКИ на узлы. При этом, попытка добавить сhild элемент одного Pane приводит к тому. что автоматически удаляется этот child из списка children исходного Pane. Общее правило: Объект типа Node может быть в одном и только одном списке children. Так, это прояснило, почему исходная панель становится пустой. Спасибо. А можно как-то скопировать (клонировать) не ссылки, а сами узлы? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 12:48 |
|
Java fx получить содержимое панели
|
|||
---|---|---|---|
#18+
Павел Гужанов, Можно. Но надо учитывать, что, Вам потребуется самому создать что-то вроде метода cloneNode(source-node) для каждого, используемого Вами узла. Например, Button имеет свойство graphic, содержащее null или объект Node. Поэтому, чтобы создать клон объекта Button, Вам потребуется создать новый объект типа Button, создать новый объект, соответствующий свойству graphic и назначит его свойству graphic новому Button. Другие javafx nodes могут иметь еще более сложную структуру. К сожалению javafx не обязывает реализовывать метод clone для объектов типа Node. Да это, в принципе невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2018, 13:06 |
|
|
start [/forum/topic.php?fid=59&gotonew=1&tid=2121926]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 502ms |
0 / 0 |