내가 초기화 프로세스 메모리의 상태를 표시하는 JFreeChart의 인스턴스를 클릭 JFreeChart를 다음과 같이 마우스 얻기 데이터 소스 값은
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);
나중에 나는 TimeSeriesCollection의 각 시계열에 값을 추가 할 수 있습니다. 나는 어떻게 든 사용자가 차트를 클릭 할 때 콜럼과 관련된 시간, 또는 그보다 더 나은 - 값의 인덱스가 무엇인지를 알고 싶습니다.
나는 JFreeChart 클래스와 ChartMouseListener 클래스를 살펴 봤지만 어떻게해야하는지 알지 못했다. (또한 JFreeChart의 문서는 성가신만큼 희소하다. 사람들이 개발자 가이드를 사려고하는 것 같다). 이 같은 의해 마지막 두 줄을 교체하는 경우
음, 이미 ChartMouseLIstener를 살펴 봤는데, 이벤트의 정보는 거의 쓸모가 없습니다. 문제는 청취자를 추가하는 것이 아니라 이벤트에서 관련 데이터를 얻는 방법입니다. –
ChartEvent.getEntity()를 사용하여 마우스 아래 모양 (막대, 선)을 가져올 수 있습니다. http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/entity/ChartEntity.html – fasseg
+ 1, 챔피언처럼 작동! – trashgod