using mousevent to distiguish between bars

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
Hotos Monegro

using mousevent to distiguish between bars

Post by Hotos Monegro » Sun Nov 10, 2002 6:17 am

Hi,

I'm trying to create an interactive feature to my chart that will allow a user to drag a chosen bar from my chart either up or down. But, in order to do this I need to be able to distiguish the bars ( they were created using the BasicTimeSeries class, code is below). The data used to plot these bars was a integer value vs. a day (see code below).


My Question:
______________

1. By clicking on a bar, can I some how have the chart return the index of the bar that was clicked on?



____________________________________________________________

Day day1 = new Day(1, SerialDate.MARCH, 2002);
Day day2 = new Day(2, SerialDate.MARCH, 2002);
Day day3 = new Day(3, SerialDate.MARCH, 2002);
Day day4 = new Day(4, SerialDate.MARCH, 2002);
Day day5 = new Day(5, SerialDate.MARCH, 2002);
Day day6 = new Day(6, SerialDate.MARCH, 2002);
Day day7 = new Day(7, SerialDate.MARCH, 2002);
Day day8 = new Day(8, SerialDate.MARCH, 2002);
Day day9 = new Day(9, SerialDate.MARCH, 2002);
Day day10 = new Day(10, SerialDate.MARCH, 2002);
Day day11 = new Day(11, SerialDate.MARCH, 2002);
Day day12 = new Day(12, SerialDate.MARCH, 2002);
Day day13 = new Day(13, SerialDate.MARCH, 2002);
Day day14 = new Day(14, SerialDate.MARCH, 2002);
Day day15 = new Day(15, SerialDate.MARCH, 2002);

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

XYDataset data5 = this.createDataset5();

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

private XYDataset createDataset5(){

series5 = new BasicTimeSeries("Lost Customers", Day.class);

series5.add(day1, 1285.3);
series5.add(day2, 1998.2);
series5.add(day3, 1283.2);
series5.add(day4, 1042.3);
series5.add(day5, 1253.5);
series5.add(day6, 1352.3);
series5.add(day7, 1532.0);
series5.add(day8, 1285.3);
series5.add(day9, 1998.2);
series5.add(day10, 1323.2);
series5.add(day11, 1943.9);
series5.add(day12, 1843.2);
series5.add(day13, 1475.3);
series5.add(day14, 1943.6);
series5.add(day15, 1110.7);

return new TimeSeriesCollection(series5);

}
____________________________________________________________

thank you,
Hostos

Dave Gilbert

Re: using mousevent to distiguish between bars

Post by Dave Gilbert » Mon Nov 11, 2002 10:29 am

If you implement the ChartMouseListener interface in one of your classes, you can register it with the ChartPanel to receive ChartMouseEvents. These events contain information about which series and item in the chart received the mouse click. In 0.9.5, the ChartMouseEvent will also identify the chart (in case you have multiple charts).

Regards,

DG

Locked