Я пытаюсь получить x, y точки на LineChart<Number, Number>
, чтобы я мог добавить Line
к ней.Поэтому я попытался получить значение x, например, 9, выполнив:
Group root = new Group();
NumberAxis xAxis = new NumberAxis();
xAxis.setAutoRanging(false);
xAxis.setLowerBound(0);
xAxis.setUpperBound(9);
LineChart<Number, Number> lineChart = new LineChart<Number, Number>(xAxis, yAxis);
System.out.println(xAxis.getDisplayPosition(9)); // 0
root.getChildren().add(lineChart);
Scene scene = new Scene(root, 800, 800);
stage.setScene(scene);
stage.show();
Посмотрев в Интернете, я наткнулся на предполагаемое решение
Node chartPlotArea = lineChart.lookup(".chart-plot-background");
double chartZeroX = chartPlotArea.getLayoutX();
System.out.println(xAxis.getDisplayPosition(9) + chartZeroX);
, которое также закончилосьвывод 0
, почему это происходит?Как я могу получить положение отображения x, y, чтобы я мог передать это в Line.setStartX(...)
/ Line.setStartY(...)
?