Jfree图表鼠标拖动缩放

时间:2011-08-17 07:24:56

标签: java mouseevent jfreechart

如何修改ChartPanel的mouseDragged事件,以便我想在缩放之前/之后进行一些处理? 我有以下chartPanel,

JFreeChart chart = new JFreeChart(
                "Demo", JFreeChart.DEFAULT_TITLE_FONT,plot, true);
ChartPanel chartPanel = new ChartPanel(chart);

每当拖动鼠标时,我想在调用mouseDragged()之前/之后调用我的函数。这该怎么做 ?

chartPanel.addMouseMotionListener(new MouseMotionListener() {

    @Override
    public void mouseDragged(MouseEvent e) {
        // TODO Auto-generated method stub
    }

我无法看到super.mouseDragged(e)。 图表缩放后如何调用我的函数。基本上我想做的是在图表缩放后,我想得到x和y坐标的范围并添加一个合适的XYAnnotation。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

您可以覆盖org.jfree.chart.ChartPanel中的mouseDragged()并在super.mouseDragged(e)之前或之后进行处理。

附录:MouseMotionAdapter可能是一个方便的选择:

chartPanel.addMouseMotionListener(new MouseMotionAdapter() {

    @Override
    public void mouseDragged(MouseEvent e) {
        // process before
        super.mouseDragged(e);
        // process after
    }
});