【发布时间】:2017-04-25 23:25:40
【问题描述】:
我有一个 JavaFx 自定义条形图,其标签显示在 FXCanvas 上,用于 SWT RCP 应用程序。感谢为How to clear text added in a javafx barchart?发布的答案
但是,当我将鼠标事件侦听器添加到条形图的节点时,未检测到鼠标事件
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());
}
}
}
使用以下代码行在 createBarChart 中调用 addMouseListener
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);
如果我将自定义 BarChart 更改为 javafx.chart.BarChart 类,则可以识别事件。仅用于自定义 BarChart 鼠标事件不会触发。
感谢是否有人可以帮助我解决这个用例。 TIA
【问题讨论】:
标签: java javafx charts swt bar-chart