为了账号安全,请及时绑定邮箱和手机立即绑定

JavaFX LineChart悬停值

JavaFX LineChart悬停值

拉丁的传说 2019-11-18 14:35:19
我正在用JavaFX创建折线图。目前一切都很好,它成功地使用数据库存储过程中需要的数据创建了图表。无论如何,如果可能的话,我需要对LineChart上的每个数据点进行鼠标悬停事件,该事件指出了特定点后面的值,例如150,000英镑。我已经在PieCharts上看到了此示例,该示例显示了悬停时的%值,但是我在LineCharts的任何地方都找不到示例,这是否可以完成?如果可能的话,有人可以指出我正确的方向吗?到目前为止的代码:private static final String MINIMIZED = "MINIMIZED";private static final String MAXIMIZED = "MAXIMIZED";private static String chartState = MINIMIZED;// 12 Month Sales ChartXYChart.Series<String, Number> series = new XYChart.Series<>();XYChart.Series<String, Number> series2 = new XYChart.Series<>();public void getDeltaData() {    try {        Connection con = DriverManager.getConnection(connectionUrl);        //Get all records from table        String SQL = "";        Statement stmt = con.createStatement();        //Create the result set from query execution.        ResultSet rs = stmt.executeQuery(SQL);        while (rs.next()) {            series.getData().add(new XYChart.Data<String, Number>(rs.getString(1),                    Double.parseDouble(rs.getString(7))));            series2.getData().add(new XYChart.Data<String, Number>(rs.getString(1),                    Double.parseDouble(rs.getString(8))));        }        rs.close();        stmt.close();    } catch (Exception e) {    }    yearChart = createChart();}    protected LineChart<String, Number> createChart() {    final CategoryAxis xAxis = new CategoryAxis();    final NumberAxis yAxis = new NumberAxis();    // setup chart    series.setName("Target");    series2.setName("Actual");    xAxis.setLabel("Period");    yAxis.setLabel("£");    yearChart.getData().add(series);    yearChart.getData().add(series2);    yearChart.setCreateSymbols(false);    return yearChart;}jewelsea提供的答案是此问题的完美解决方案。谢谢你,宝石海。
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

使用XYChart.Data.setNode(hoverPane)显示每个数据点的自定义节点。使hoverNode像StackPane这样的容器。添加鼠标事件侦听器,以便您知道鼠标何时进入和离开节点。输入后,将值的标签放置在hoverPane中。在出口处,从hoverPane移除标签。

显示示例代码的输出,并将光标悬停在22个节点上。



查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 1169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信