JFreeChart获取鼠标坐标

时间:2009-10-02 22:33:23

标签: java mouseevent jfreechart

在JFreeChart中是否有办法从ChartMouseEvent确定鼠标结束的x,y坐标(在绘图空间中)?我尝试过使用域十字准线值,但这似乎不准确,并且滞后于实际的鼠标事件。

感谢,

杰夫

1 个答案:

答案 0 :(得分:15)

来自getTrigger()的鼠标坐标相对于ChartPanel,因此您需要转换它们:

Point2D p = chartPanel.translateScreenToJava2D(mouseChartEvent.getTrigger().getPoint());
Rectangle2D plotArea = chartPanel.getScreenDataArea();
XYPlot plot = (XYPlot) chart.getPlot(); // your plot
double chartX = plot.getDomainAxis().java2DToValue(p.getX(), plotArea, plot.getDomainAxisEdge());
double chartY = plot.getRangeAxis().java2DToValue(p.getY(), plotArea, plot.getRangeAxisEdge());