javafx - Javafx - 为条形图设置悬停
问题描述
我需要将鼠标悬停在条形图中的栏上。
我有显示条形图的代码,当在图形上越过条形图时,我需要显示 y 轴的值。
XYChart.Series set1 = new XYChart.Series<>();
XYChart.Series series1 = new XYChart.Series();
for(int i = 0; i< suply.size(); i++)
{
set1.getData().add(new XYChart.Data(suply.get(i).getName(), Float.parseFloat(suply.get(i).getNum())));
final XYChart.Data<String, Number> data = new XYChart.Data(suply.get(i).getName(), Float.parseFloat(suply.get(i).getNum()));
data.nodeProperty().addListener(new ChangeListener<Node>() {
@Override public void changed(ObservableValue<? extends Node> ov, Node oldNode, Node newNode) {
if (newNode != null) {
}
}
});
series1.getData().add(data);
}
barChart.getData().add(series1);
//now you can get the nodes.
for (Series<String, Number> serie: barChart.getData()){
for (XYChart.Data<String, Number> item: serie.getData()){
item.getNode().setOnMousePressed((MouseEvent event) -> {
System.out.println("you clicked "+item.toString()+serie.toString());
});
}
}
barChart.setCursor(Cursor.CROSSHAIR);
在哪里将代码悬停在条形图上以及如何?
解决方案
我找到了解决方案
for (final Series<String, Number> series : barChart.getData()) {
for (final XYChart.Data<String, Number> data : series.getData()) {
Tooltip tooltip = new Tooltip();
tooltip.setText(data.getXValue().toString() +" "+
data.getYValue().toString());
Tooltip.install(data.getNode(), tooltip);
}
}
推荐阅读
- android - Hilt 注入不适用于 BroadcastReceiver
- javascript - 无法通过发送 cURL 请求来测试 webhook
- apache-kafka - Neo4j 用于存储 pcap 数据
- php - 即使用户在前端登录,为什么我的经过身份验证的用户返回 null?
- r - 变量指定错误
- c++ - optix 6.0.0 示例代码中的运行时异常
- sql-server - 如何将计算机名与 Windows Server 2019 上的 SSL 证书匹配?
- database - 如何禁用 Spring Batch 元数据表调用
- c# - 在客户端上使用 C# 重定向 TCP 请求
- localization - 如何为 Orchard Core 启用站点本地化