Я пытаюсь нарисовать вертикальную линию и горизонтальную линию, указывающую, куда указывает моя мышь, я бы хотел, чтобы мой "курсор" двигался с помощью мыши.
Итак, я попытался добавить линию в свою диаграмму, но не могу что-то добавить, потому что в линейной диаграмме нет функции getChildren (). Таким образом, я хотел бы иметь что-то подобное:
Я также думаю, что если эти «курсоры» могут быть объектами, то, когда я называю свой класс «Курсором», это создаст 2 линии, одну вертикальную и одну горизонтальную?
Мой код:
Я пытался использовать LineBuilder, который рисует линию, но теперь, как я хотел.
Теперь мне удалось определить местоположение мыши, как я могу нарисовать 2 линии сейчас?
NumberAxis x = new NumberAxis();
NumberAxis y = new NumberAxis();
LineChart<Number,Number> chart = new LineChart<Number,Number>(x,y);
XYChart.Series series1 = ...;
// creating a series then giving this series 100 random values
chart.getData().add(series1);
chartPane.getChildren().add(chart);
chart.setOnMousePressed((MouseEvent event) -> {
Point2D mouseSceneCoords = new Point2D(event.getSceneX(), event.getSceneY());
double x = xAxis.sceneToLocal(mouseSceneCoords).getX();
double y = yAxis.sceneToLocal(mouseSceneCoords).getY();
primaryStage.setTitle("" +
xAxis.getValueForDisplay(x) + ", " +
yAxis.getValueForDisplay(y)
);
});
Итак, теперь, когда мне удалось применить ваш код в моем приложении, у меня возникла проблема:
Моя мышь указывала на точку (800,10), но мой курсор совершенно далек от местоположения моей мыши.