Sorry, my english is very bad.
I have a problem drawing a crosshair because the coordinate Y isn't good.
I see others topics related, but not work fine.
Code: Select all
Point2D p = panelGrafica.translateScreenToJava2D(new Point(x, y));
XYPlot plot = (XYPlot) panelGrafica.getChart().getPlot();
ChartRenderingInfo info = panelGrafica.getChartRenderingInfo();
Rectangle2D dataArea = info.getPlotInfo().getDataArea();
ValueAxis domainAxis = plot.getDomainAxis();
RectangleEdge domainAxisEdge = plot.getDomainAxisEdge();
ValueAxis rangeAxis = plot.getRangeAxis();
RectangleEdge rangeAxisEdge = plot.getRangeAxisEdge();
double chartX = domainAxis.java2DToValue(p.getX(), dataArea,
domainAxisEdge);
double chartY = rangeAxis.java2DToValue(p.getY(), dataArea,
rangeAxisEdge);
System.out.println("Chart: x = " + chartX + ", y = " + chartY);
thanks
Carlos.