i have resolved my last problem(thanks to Naxter) but i have already another one!
what i would do is change the bubble colour on click mouse, i should make a precision, i already override a xybubblerenderer to shows all bubble yellow.
however, i try to make this:
Code: Select all
chartpanel.addChartMouseListener(new ChartMouseListener(){
@Override
public void chartMouseClicked(ChartMouseEvent cme) {
XYPlot p = (XYPlot)cme.getChart().getPlot();
if(cme.getEntity() instanceof XYItemEntity){
XYItemEntity e = (XYItemEntity)(cme.getEntity());
XYDataset dataset = e.getDataset();
XYDataset test = p.getDataset(i);
if(test == dataset){
XYBubbleRenderer r = (XYBubbleRenderer )plot.getRenderer(i);
r.setSeriesPaint(e.getSeriesIndex(),Color.blue);
}
}
}
i had try also this:
Code: Select all
chartpanel.addChartMouseListener(new ChartMouseListener(){
@Override
public void chartMouseClicked(ChartMouseEvent cme) {
XYPlot p = (XYPlot)cme.getChart().getPlot();
if(cme.getEntity() instanceof XYItemEntity){
XYItemEntity e = (XYItemEntity)(cme.getEntity());
p.setRenderer(new XYBubbleRenderer(1){
@Override
public Paint getItemOutlinePaint(int row, int column) {
return Color.green;
}
});
XYDataset test = p.getDataset(i);
if(test == dataset){
XYBubbleRenderer r = (XYBubbleRenderer )plot.getRenderer(i);
r.getItemPaint(e.getSeriesIndex(), e.getItem());
}
}
}
moreover if i print the e.getSeriesIndex(), and e.getItem() i obtain the correct series but the same value(org.jfree.data.xy.DefaultXYZDataset@1a184ac4)
some one have idea to how can i do ?
many many thanks in first!