Ich habe eine JFreeChart Instanz, die Prozessspeicherstatus anzeigt, wie folgt initialisiert:JFreeChart: erhalten Datenquelle Wert auf Mausklick
m_data = new TimeSeriesCollection();
TimeSeries vmsize = new TimeSeries("VMSize");
TimeSeries resident = new TimeSeries("Resisdent");
TimeSeries shared = new TimeSeries("Shared memory");
TimeSeries code = new TimeSeries("Code");
TimeSeries data = new TimeSeries("Data");
m_data.addSeries(vmsize);
m_data.addSeries(resident);
m_data.addSeries(shared);
m_data.addSeries(code);
m_data.addSeries(data);
JFreeChart chart = ChartFactory.createTimeSeriesChart("Memory usage", "Time", "Size", m_data, true, true, false);
m_chart = new ChartPanel(chart);
Später ich hinzufügen, Werte zu jedem Timeseries im TimeSeriesCollection. Ich möchte irgendwie wissen - wenn der Benutzer auf das Diagramm klickt - entweder welche Zeit mit dieser Spalte verbunden ist, oder noch besser - was ist der Index des Wertes.
Ich schaute auf die JFreeChart und ChartMouseListener Klassen, aber ich konnte nicht herausfinden, wie man das macht (auch die Dokumentation von JFreeChart ist ärgerlich knapp, ich denke, sie versuchen, Leute zu ihrem Entwicklerhandbuch zu kaufen).
Nun, ich habe mir ChartMouseLIstener schon angeschaut, die Informationen im Ereignis sind ziemlich nutzlos. Die Frage ist nicht, wie man einen Listener hinzufügt - sondern wie man die relevanten Daten aus dem Event erhält. –
können Sie ChartEvent.getEntity() verwenden, um die Form (Leiste, Linie) unter der Maus http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/entity/ChartEntity.html – fasseg
+ zu erhalten 1, funktioniert wie ein Champion! – trashgod