我的 JavaFX 工具提示未显示在图表数据节点上
My JavaFX Tooltip isn't showing up on a chart data node
我正在玩弄 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
经过一番挖掘,这里的问题是数据元素 (XYChart.Data) 没有在构造时创建的节点。 chart.setData(data)
将填充节点字段 - 我相信这是为了允许用户在需要时创建和设置自己的节点。所以 d1.getNode()
实际上返回 null,而 Tooltip.install()
默默地失败了。
将 Tooltip.install
调用 移动到 chart.setData
之后解决了问题。
我正在玩弄 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
经过一番挖掘,这里的问题是数据元素 (XYChart.Data) 没有在构造时创建的节点。 chart.setData(data)
将填充节点字段 - 我相信这是为了允许用户在需要时创建和设置自己的节点。所以 d1.getNode()
实际上返回 null,而 Tooltip.install()
默默地失败了。
将 Tooltip.install
调用 移动到 chart.setData
之后解决了问题。