Из кода .. как вы можете установить обработчики событий для узла, вы также можете установить подсказку для узла.
for (XYChart.Series<String, Number> series : bc.getData()) {
for (XYChart.Data<String, Number> item : series.getData()) {
item.getNode().setOnMousePressed((MouseEvent event) -> {
System.out.println("you clicked " + item.toString() + series.toString());
});
Tooltip.install(item.getNode(), new Tooltip(item.getXValue() + ":\n" + item.getYValue()));
}
}
Update ::
Согласно вашему требованию, если вы хотите всплывающую подсказку на метке оси, вы можете попробовать следующий подход. Я считаю, что это неправильный подход, но он может дать вам некоторые результаты. Также я не уверен, что вы хотите показать во всплывающих подсказках, если у вас есть несколько серий.
xAxis.getChildrenUnmodifiable().addListener((ListChangeListener<Node>) p -> {
if (p.next()) {
p.getAddedSubList().forEach(node -> {
if (node != null && node instanceof Text) {
final Text textNode = (Text) node;
final Optional<XYChart.Data<String, Number>> data = bc.getData().get(0).getData().stream().filter(item -> item.getXValue().equalsIgnoreCase(textNode.getText())).findFirst();
data.ifPresent(d -> {
Tooltip.install(textNode, new Tooltip(d.getXValue() + ":\n" + d.getYValue()));
});
}
});
}
});