JFreeChart交互式图表编辑处理ChartMouseEvent

时间:2011-08-25 11:18:12

标签: java mouseevent jfreechart coordinate-systems

我试图拦截ChartMouseEvent以修改使用ChartFactory.createXYLineChart方法创建的JFreeChart对象的XYSeries(并使用JDialog显示)。

XYLineChart

我以这种方式成功检索鼠标事件的坐标:

public void chartMouseMoved(ChartMouseEvent arg0) {
    int x = arg0.getTrigger().getX();
        int y = arg0.getTrigger().getY();

坐标系(0,0)的原点位于图片中的红色方块。 现在,我想计算鼠标在哪个区间。为了做到这一点,我需要:

  1. 灰色图表的左上角坐标(绿色方块)
  2. 灰色图表的高度和宽度
  3. 如何获得此值?

    注意:我是JFreeChart的新手。如果我做错了,并且有更好的方法来实现这些目标,请让我朝着正确的方向前进。

1 个答案:

答案 0 :(得分:1)

您是通过ChartPanel呈现情节吗?

如果是这样,请查看ChartPanel.getChartRenderingInfo().getPlotInfo().getDataArea()。这应该返回一个易于使用的Rectangle2D