小编Flo*_*xii的帖子

如何跟随鼠标位置在LineChart上绘制十字线

我试图绘制一条垂直线和一条水平线,指向鼠标指向的位置,我希望看到“光标”随鼠标移动。

因此,我试图在图表中添加一条折线,但由于折线图没有getChildren()函数,因此无法添加任何内容。因此,我想拥有这样的东西:

在此处输入图片说明

我还在想,如果这些“光标”可以是一个对象,当我将我的类称为“光标”时,它将创建2条线,一条垂直线,一条水平线?

我的代码:

我试图使用LineBuilder画一条线,但是现在我想要的是。现在,我成功获得了鼠标的位置,现在如何绘制2条线?

    NumberAxis x = new NumberAxis();
    NumberAxis y = new NumberAxis();
    LineChart<Number,Number> chart = new LineChart<Number,Number>(x,y);
    XYChart.Series series1 = ...;
     // creating a series then giving this series 100 random values
    chart.getData().add(series1);
    chartPane.getChildren().add(chart);

    chart.setOnMousePressed((MouseEvent event) -> {

    Point2D mouseSceneCoords = new Point2D(event.getSceneX(),       event.getSceneY());
    double x = xAxis.sceneToLocal(mouseSceneCoords).getX();
    double y = yAxis.sceneToLocal(mouseSceneCoords).getY();

    primaryStage.setTitle("" +
        xAxis.getValueForDisplay(x) + ",  " +
        yAxis.getValueForDisplay(y)
    );
});
Run Code Online (Sandbox Code Playgroud)

因此,现在我成功将您的代码应用到我的应用程序上,我遇到了一个问题: 在此处输入图片说明 我的鼠标指向该点(800,10),但是光标完全远离我的鼠标的位置。

java javafx

4
推荐指数
1
解决办法
94
查看次数

标签 统计

java ×1

javafx ×1