我正在使用JFreeChart绘制XYPlot。我目前正在尝试做的是:


用户单击该图,应用程序将其返回给选定点的坐标;我认为我做对了。这是一些代码:

    public void chartMouseClicked(ChartMouseEvent arg0) {
           Rectangle2D plotArea = chPanel.getScreenDataArea();
           XYPlot plot = (XYPlot) chart.getPlot();
           double chartX = plot.getDomainAxis().java2DToValue(arg0.getTrigger().getPoint().getX(), plotArea, plot.getDomainAxisEdge());
           double chartY = plot.getRangeAxis().java2DToValue(arg0.getTrigger().getPoint().getY(), plotArea, plot.getRangeAxisEdge());
           JOptionPane.showMessageDialog(null, "   x: "+chartX+ "  y: "+chartY);}

我需要确定用户是否单击了该行。目标是标记单击点是否在绘制的图形上。


我将不胜感激。

最佳答案

代替使用坐标,而是添加ChartMouseListener,如here所示。您可以检查ChartMouseEvent以及任何相应的ChartEntity以获得各种详细信息。

10-05 18:08