JFreeChart交互式图表编辑处理ChartMouseEvent
我试图拦截ChartMouseEvent以修改使用ChartFactory.createXYLineChart方法创建的JFreeChart对象的XYSeries(并使用JDialog显示)。
我通过这种方式成功检索鼠标事件的坐标:
public void chartMouseMoved(ChartMouseEvent arg0) { int x = arg0.getTrigger().getX(); int y = arg0.getTrigger().getY();
坐标系(0,0)的原点位于图片中的红色方块。 现在,我想计算鼠标在哪个区间。为了做到这一点,我需要:
- 灰色图表的左上角坐标(绿色方块)
- 灰度图的高度和宽度
我怎样才能得到这个值?
注意:我是JFreeChart新手。 如果我做错了,并且有更好的方法来实现这些目标,请让我朝着正确的方向前进。
你是通过ChartPanel
渲染情节吗?
如果是这样,请查看ChartPanel.getChartRenderingInfo().getPlotInfo().getDataArea()
。 这应该返回一个易于使用的Rectangle2D
。