JavaFX - Как добавить массив MeshViews в группу или сцену
Обновление: я обновил свой код для циклического просмотра списка ячеек сетки и добавления каждого в группу с помощью group.getChildren.add(meshview[i]), но по-прежнему не отображается на экране. Благодарю.
Я пытаюсь добавить список массивов типа MeshView к сцене в графическом интерфейсе на основе JavaFx. Мне удалось получить первоначальный пример для работы там, где был один MeshView, но теперь у меня есть случай, когда данные, считываемые из файла, приводят к массиву типа MeshView. Я не смог найти функцию типа "add" или "addAll" в типе Group, чтобы позволить мне пройти по всем элементам и добавить их, и я не смог заставить конструктор Group позволить мне добавить список в единицу в аргументах. Я использую группу, чтобы содержать их, потому что в общем GUI используется BorderLayout, определенный с помощью файла FXML. Итак, моя первоначальная версия добавляет вид сетки в группу вместе с некоторыми точечными источниками света, а затем эта группа добавляется в центр макета границы, используя его метод set. Любая помощь будет оценена. Благодарю.
Ps. Я думаю, что я только что нашел ответ. Я забыл, что метод add находится под get children: group.getChildren(). AddAll(meshView, pointLight); как показывает строка выше из другого ответа. Но мне все равно было бы интересно услышать лучшие способы, потому что я все еще не понимаю, как бороться с ситуацией, когда у вас есть, скажем, 20 видов сетки, которые составляют часть, которая будет отображаться на экране, и вы хотите объединить эти и соответствующие источники света и т. Д. И масштабировать чтобы поместиться в центре или на границе. Я полагаю, что сначала я могу использовать все виды сетки с помощью добавления, а затем добавить источники света, но не был уверен. Еще раз спасибо.
1 ответ
Вы всегда можете добавить виды сетки в любой объект типа Node, например Group
или же BorderLayout
ех.
root.getChildren().add(meshView);
Вы можете добавить как можно больше к этому root
возразить и перевести meshView
в сцене
meshView.setTranslateX(200);
meshView.setTranslateY(200);
meshView.setTranslateZ(200);
и установите конфигурацию камеры и световых точек и добавьте их также в сцену