2011-08-25 64 views
2

我試圖攔截ChartMouseEvent以修改使用ChartFactory.createXYLineChart方法(並使用JDialog顯示)創建的JFreeChart對象的XYSeries。JFreeChart交互式圖表編輯處理ChartMouseEvent

XYLineChart

我成功地檢索到的鼠標事件的這樣的座標:

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

座標系(0,0)的原點位於畫面中的紅色方塊。 。 現在,我想計算,其中間隔是在小鼠爲了做到這一點,我需要:

  1. 灰度圖表的左上座標(綠色正方形)
  2. 高度和寬度灰色圖表

我該如何得到這個值?

注意:我是JFreeChart新手。如果我做錯了,並且有更好的方法來實現這些目標,請讓我朝正確的方向發展。

回答

1

要通過ChartPanel呈現該圖嗎?

如果是這樣,看看ChartPanel.getChartRenderingInfo().getPlotInfo().getDataArea()。這應該返回一個易於使用的Rectangle2D

+0

謝謝..我會試試 – Heisenbug

+0

非常感謝你。你解決了我的問題。 – Heisenbug