سؤال

هل هناك طريقة في Jfreecharrت لتحديدها من مخطط Chartmouseevent أن X، Y إحداثيات (في مساحة الأرض) انتهت الماوس؟ لقد حاولت استخدام قيمة Crosshair المجال ولكنها تبدو غير دقيقة وتتخلف عن حدث الماوس الفعلي.

شكرا،

جيف

هل كانت مفيدة؟

المحلول

إحداثيات الماوس من 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());
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top