Для чего используется статический метод positioninArea в JavaFX LineChart? - PullRequest
0 голосов
/ 16 января 2019

Линейный график в JavaFX имеет статический метод с именем positioninArea - вот документ:

positionInArea (дочерний узел, двойная зона X, двойная зона Y, двойная зонаWidth, двойная зонаHeight, двойная зонаBaselineOffset, поле Insets margin, HPos halignment, VPos valignment, логическое значение isSnapToPixel)

Служебный метод, который позиционирует дочерний элемент в пределах области этого региона, определенной с помощью areaX, areaY, areaWidth x areaHeight, со смещением базовой линии относительно этой области.

Для чего используется этот метод? Я не понимаю объяснения. Могу ли я добавить узел, т. Е. Прямоугольник внутри диаграммы, используя этот метод? Например:

Rectangle rec = new Rectangle(35, 35, 35, 35);
rec.setFill(Color.RED);
lineChart.positionInArea(rec, 50, 50, 35, 35, 10, new Insets(0), HPos.CENTER, VPos.CENTER, true);

Я пробовал это, но прямоугольник не показывает.

1 Ответ

0 голосов
/ 16 января 2019

Метод positionInArea определяется не на LineChart, а на Region. Он в основном используется, чтобы помочь расположить дочерние элементы Region при переопределении метода layoutChildren. Это достигается путем изменения различных свойств макета Node.

Ваш Rectangle не добавлен в граф сцены, не говоря уже о потомке LineChart. Вызов positionInArea с Rectangle не будет иметь никакого визуального эффекта. Метод не добавляет Node в список детей, он просто устанавливает некоторые свойства в Rectangle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...