0
我有一个JavaFx自定义条形图,标签显示在FXCanvas上用于SWT RCP应用程序。感谢答案张贴How to clear text added in a javafx barchart?JavaFx自定义条形图鼠标事件不会触发
然而,当我加入鼠标事件侦听器,条形图的节点,是没有得到检测到鼠标事件
private void addMouseListener(XYChart.Series<String, Number> series) {
for (XYChart.Data<String, Number> xyData : series.getData()) {
if (xyData != null && xyData.getNode() != null) {
final Node node = xyData.getNode();
node.setOnMousePressed((MouseEvent event) -> {
System.out.println("you clicked " + xyData.toString());
}
}
}
调用addMouseListener将内部createBarChart下面行代码
BarChartExt barChart = new BarChartExt<String, Number>(xAxis, yAxis);
barChart.setTitle("Summary");
Scene scene = new Scene(barChart, 300, 300);
barChart.getData().add(series);
addMouseListener(series)
scene.getStylesheets().add("css/barchart.css");
canvas.setScene(scene);
如果我将Custom BarChart更改为javafx.chart.BarChart类,则会识别事件。只有自定义BarChart鼠标事件不会触发。
欣赏有没有人能帮助我处理这个用例。 TIA