Example usage for org.jfree.chart.entity LegendItemEntity getSeriesKey

List of usage examples for org.jfree.chart.entity LegendItemEntity getSeriesKey

Introduction

In this page you can find the example usage for org.jfree.chart.entity LegendItemEntity getSeriesKey.

Prototype

public Comparable getSeriesKey() 

Source Link

Document

Returns the series key that identifies the legend item.

Usage

From source file:ec.util.chart.swing.Charts.java

/**
 * Finds the series selected by a click on a ChartPanel (from JFreeChart)
 *
 * @param pt Point where the mouse click happened
 * @param cp ChartPanel being clicked on
 * @return Index of the series in the chart; -1 if no series found
 * @deprecated use {@link #getSeriesForPoint(java.awt.Point, org.jfree.chart.ChartPanel)
 * } instead/*from  w w  w  .  ja v a2s.  c o m*/
 */
@Deprecated
public static int getSelectedSeries(@Nonnull Point pt, @Nonnull ChartPanel cp) {
    LegendItemEntity result = getSeriesForPoint(pt, cp);
    return result != null ? ((SeriesDataset) result.getDataset()).indexOf(result.getSeriesKey())
            : NO_SERIES_FOUND_INDEX;
}

From source file:org.jfree.chart.demo.MouseListenerDemo3.java

public void chartMouseClicked(ChartMouseEvent chartmouseevent) {
    org.jfree.chart.entity.ChartEntity chartentity = chartmouseevent.getEntity();
    if (chartentity != null && (chartentity instanceof LegendItemEntity)) {
        LegendItemEntity legenditementity = (LegendItemEntity) chartentity;
        @SuppressWarnings("rawtypes")
        Comparable comparable = legenditementity.getSeriesKey();
        XYPlot xyplot = (XYPlot) chart.getPlot();
        XYDataset xydataset = xyplot.getDataset();
        XYItemRenderer xyitemrenderer = xyplot.getRenderer();
        for (int i = 0; i < xydataset.getSeriesCount(); i++) {
            xyitemrenderer.setSeriesStroke(i, new BasicStroke(1.0F));
            if (xydataset.getSeriesKey(i).equals(comparable))
                xyitemrenderer.setSeriesStroke(i, new BasicStroke(2.0F));
        }/*from ww w. ja va  2 s. c o m*/

    }
}

From source file:net.sf.maltcms.chromaui.charts.events.ChartPanelMouseListener.java

/**
 *
 * @param arg0/*from  w w  w . java 2  s  .  com*/
 */

@Override
public void chartMouseClicked(final ChartMouseEvent arg0) {
    final ChartPanelMouseListener cpml = this;
    if (arg0.getEntity() != null) {
        if (arg0.getEntity() instanceof XYItemEntity) {
            XYItemEntity xyie = (XYItemEntity) arg0.getEntity();

            if (arg0.getTrigger().getButton() == MouseEvent.BUTTON1) {
                //                
                if (arg0.getTrigger().isAltDown() && arg0.getTrigger().isShiftDown()) {
                    //                        System.out.println("Item removed");
                    fireEvent(new XYItemEntityRemovedEvent((XYItemEntity) arg0.getEntity(), cpml));
                } else if (arg0.getTrigger().isAltDown()) {
                    //                        System.out.println("Item added");
                    fireEvent(new XYItemEntityAddedEvent((XYItemEntity) arg0.getEntity(), cpml));
                } else {
                    setTarget(arg0);
                    //                        System.out.println("Item clicked");
                    fireEvent(new XYItemEntityClickedEvent((XYItemEntity) arg0.getEntity(), cpml));
                }
            }
        } else if (arg0.getEntity() instanceof LegendItemEntity) {
            JPopupMenu jpm = new JPopupMenu();
            final LegendItemEntity lie = (LegendItemEntity) arg0.getEntity();
            Dataset ds = lie.getDataset();
            Comparable skey = lie.getSeriesKey();
            Plot plot = arg0.getChart().getPlot();
            if (plot instanceof XYPlot) {
                XYPlot xyplot = arg0.getChart().getXYPlot();
                if (xyplot.getSeriesCount() > 1) {
                    XYDataset xyds = (XYDataset) ds;
                    XYItemRenderer xyir = xyplot.getRendererForDataset(xyds);

                    xyir.setSeriesVisible(xyds.indexOf(skey), !xyir.isSeriesVisible(xyds.indexOf(skey)));
                    xyir.setSeriesVisibleInLegend(xyds.indexOf(skey), Boolean.TRUE);
                }
            } else if (plot instanceof CategoryPlot) {
                CategoryPlot cplot = arg0.getChart().getCategoryPlot();
                if (cplot.getDatasetCount() > 1) {
                    CategoryDataset cds = (CategoryDataset) ds;
                    CategoryItemRenderer xyir = cplot.getRendererForDataset(cds);
                    int seriesIndex = cds.getColumnIndex(skey);
                    if (seriesIndex == -1) {
                        seriesIndex = cds.getRowIndex(skey);
                    }
                    xyir.setSeriesVisible(seriesIndex, !xyir.isSeriesVisible(seriesIndex));
                    xyir.setSeriesVisibleInLegend(seriesIndex, Boolean.TRUE);
                }
            }
            //                AbstractAction hse = new AbstractAction("Hide") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
            //                AbstractAction hse = new AbstractAction("Show") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
            //                AbstractAction hse = new AbstractAction("Remove") {
            //
            //                    @Override
            //                    public void actionPerformed(ActionEvent ae) {
            //                        
            //                    }
            //                };
        }
    }
}

From source file:ec.util.chart.swing.JTimeSeriesChart.java

private void enableSelection() {
    chartPanel.addMouseListener(new SelectionMouseListener(seriesSelectionModel, true) {
        @Override/* w  ww. j  a  v  a 2 s .c o  m*/
        public void mousePressed(MouseEvent e) {
            if (isInteractive()) {
                super.mousePressed(e);
            }
        }

        @Override
        protected int getSelectionIndex(LegendItemEntity entity) {
            return entity != null ? dataset.indexOf(entity.getSeriesKey()) : -1;
        }
    });
    seriesSelectionModel.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                notification.forceRefresh();
            }
        }
    });
}