我的JavaFX工具提示未显示在图表数据节点上

时间:2015-05-28 13:29:14

标签: javafx

我正在玩JavaFX,并希望在鼠标悬停在节点上时添加一个弹出数据值的工具提示。我找到了几个链接和答案,描述了CSS方法,或使用Tooltip.install(node, tooltip),虽然我可以得到一个工具提示工作的虚拟示例,我仍然没有运气图表,使用这样的代码:

LineChart<Number, Number> chart = new LineChart(xaxis, yaxis);
ObservableList<Data<Number, Number>> data = FXCollections.observableArrayList();
Data<Number, Number> d1 = new XYChart.Data<Number, Number>(5, 15);
Tooltip tooltip = new Tooltip("15");
Tooltip.install(d1.getNode(), tooltip);
data.add(d1);
Data<Number, Number> d2 = new XYChart.Data<Number, Number>(10, 25);
Tooltip tooltip2 = new Tooltip("25");
Tooltip.install(d2.getNode(), tooltip2);
data.add(d2);
chart.setData(data);

//add chart to scene etc etc etc

1 个答案:

答案 0 :(得分:3)

经过一番挖掘,这里的问题是数据元素(XYChart.Data)没有在构造时创建的节点。 chart.setData(data)将填充节点字段 - 我相信这是为了允许用户在需要时创建和设置自己的节点。所以d1.getNode()实际上返回null,Tooltip.install()默默地失败。

Tooltip.install之后移动chart.setData来电解决问题。