2011-08-17 51 views
2

如何修改ChartPanel的mouseDragged事件,以便我想在縮放完成之前/之後執行一些處理? 我有以下chartPanel,Jfree圖表鼠標拖動到變焦

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。我怎樣才能做到這一點 ?

回答

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 
    } 
}); 
+0

你可以看到上面的問題。我修改了它 – sam

+0

我已經概述了上面的一種方法。 – trashgod

+0

它的工作原理謝謝 – sam