Example usage for org.jfree.data.general SelectionChangeEvent getSelectionExtension

List of usage examples for org.jfree.data.general SelectionChangeEvent getSelectionExtension

Introduction

In this page you can find the example usage for org.jfree.data.general SelectionChangeEvent getSelectionExtension.

Prototype

public DatasetSelectionExtension<CURSOR> getSelectionExtension() 

Source Link

Usage

From source file:org.jfree.chart.demo.selection.SelectionDemo6Pie.java

private static JFreeChart createChart(final PieDataset dataset,
        DatasetSelectionExtension<PieCursor<String>> ext) {
    JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo 2", dataset);

    final PiePlot plot = (PiePlot) chart.getPlot();
    plot.setSectionPaint("One", new Color(160, 160, 255));
    plot.setSectionPaint("Two", new Color(128, 128, 255 - 32));
    plot.setSectionPaint("Three", new Color(96, 96, 255 - 64));
    plot.setSectionPaint("Four", new Color(64, 64, 255 - 96));
    plot.setSectionPaint("Five", new Color(32, 32, 255 - 128));
    plot.setSectionPaint("Six", new Color(0, 0, 255 - 144));

    plot.setNoDataMessage("No data available");

    plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2} percent)"));
    plot.setLabelBackgroundPaint(new Color(220, 220, 220));

    plot.setLegendLabelToolTipGenerator(new StandardPieSectionLabelGenerator("Tooltip for legend item {0}"));
    plot.setSimpleLabels(true);//from www.  j  av a  2s  .  com
    plot.setInteriorGap(0.1);

    //pie plots done use abstract renderers need to react to selection on our own
    final PieCursor<String> cursor = new PieCursor<String>();

    ext.addChangeListener(new SelectionChangeListener<PieCursor<String>>() {
        public void selectionChanged(SelectionChangeEvent<PieCursor<String>> event) {
            for (int i = 0; i < dataset.getItemCount(); i++) {
                cursor.setPosition((String) dataset.getKey(i));
                if (event.getSelectionExtension().isSelected(cursor)) {
                    plot.setExplodePercent(cursor.key, 0.15);
                } else {
                    plot.setExplodePercent(cursor.key, 0.0);
                }
            }
        }
    });

    return chart;
}

From source file:org.jfree.chart.demo.selection.SelectionDemo6Pie.java

public void selectionChanged(SelectionChangeEvent<PieCursor<String>> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }//from   w  w w  .j  av  a  2s  .com

    PieDatasetSelectionExtension<String> ext = (PieDatasetSelectionExtension<String>) event
            .getSelectionExtension();
    DatasetIterator<PieCursor<String>> iter = ext.getSelectionIterator(true);

    while (iter.hasNext()) {
        PieCursor<String> dc = iter.next();
        this.model.addRow(new Object[] { dc.key, this.dataset.getValue(dc.key) });
    }
}

From source file:org.jfree.chart.demo.selection.SelectionDemo4.java

/**
 * The selection changed, so we change the table model.
 * // ww  w . jav  a2  s. c  o  m
 * @param event  the event.
 */
@Override
public void selectionChanged(SelectionChangeEvent<XYCursor> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }

    XYDatasetSelectionExtension ext = (XYDatasetSelectionExtension) event.getSelectionExtension();
    DatasetIterator<XYCursor> iter = ext.getSelectionIterator(true);

    while (iter.hasNext()) {
        XYCursor dc = iter.next();
        this.model.addRow(new Object[] { new Integer(dc.item), this.dataset.getStartX(dc.series, dc.item),
                this.dataset.getEndX(dc.series, dc.item), this.dataset.getY(dc.series, dc.item) });
    }
}

From source file:org.jfree.chart.demo.selection.SelectionDemo2.java

/**
 * The selection changed, so we change the table model.
 * /*  w w  w . ja v a  2  s  . co m*/
 * @param event  the event.
 */
@Override
public void selectionChanged(SelectionChangeEvent<XYCursor> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }

    XYDatasetSelectionExtension ext = (XYDatasetSelectionExtension) event.getSelectionExtension();
    DatasetIterator<XYCursor> iter = ext.getSelectionIterator(true);
    while (iter.hasNext()) {
        XYCursor dc = iter.next();
        Comparable seriesKey = this.dataset.getSeriesKey(dc.series);
        Number x = this.dataset.getX(dc.series, dc.item);
        Number y = this.dataset.getX(dc.series, dc.item);
        this.model.addRow(new Object[] { seriesKey, new Integer(dc.item), x, y });
    }
}

From source file:org.jfree.chart.demo.selection.SelectionDemo3.java

/**
 * The selection changed, so we change the table model
 * /*from   ww  w .j a va2s. co  m*/
 * @param event  the event.
 */
@Override
public void selectionChanged(SelectionChangeEvent<XYCursor> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }

    XYDatasetSelectionExtension ext = (XYDatasetSelectionExtension) event.getSelectionExtension();
    DatasetIterator<XYCursor> iter = ext.getSelectionIterator(true);

    while (iter.hasNext()) {
        XYCursor dc = iter.next();

        Comparable seriesKey = this.dataset.getSeriesKey(dc.series);
        Number x = this.dataset.getX(dc.series, dc.item);
        Number y = this.dataset.getX(dc.series, dc.item);

        this.model.addRow(new Object[] { seriesKey, new Integer(dc.item), x, y });
    }
}

From source file:org.jfree.chart.demo.selection.SelectionDemo1.java

/**
 * The selection changed, so we change the table model
 * //from   w w w  . j  ava 2 s. c om
 * @param event  event information.
 */
public void selectionChanged(SelectionChangeEvent<XYCursor> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }

    XYDatasetSelectionExtension ext = (XYDatasetSelectionExtension) event.getSelectionExtension();
    DatasetIterator<XYCursor> iter = ext.getSelectionIterator(true);

    while (iter.hasNext()) {
        XYCursor dc = iter.next();
        Comparable seriesKey = this.dataset.getSeriesKey(dc.series);
        RegularTimePeriod p = this.dataset.getSeries(dc.series).getTimePeriod(dc.item);
        Number value = this.dataset.getY(dc.series, dc.item);

        this.model.addRow(new Object[] { seriesKey, new Integer(dc.item), p, value });
    }
}

From source file:org.jfree.chart.demo.selection.SelectionDemo5Category.java

public void selectionChanged(SelectionChangeEvent<CategoryCursor<String, String>> event) {
    while (this.model.getRowCount() > 0) {
        this.model.removeRow(0);
    }//from  ww  w. ja va  2 s. com

    CategoryDatasetSelectionExtension<String, String> ext = (CategoryDatasetSelectionExtension<String, String>) event
            .getSelectionExtension();
    DatasetIterator<CategoryCursor<String, String>> iter = ext.getSelectionIterator(true);

    while (iter.hasNext()) {
        CategoryCursor<String, String> dc = iter.next();
        this.model.addRow(new Object[] { dc.rowKey, dc.columnKey, dataset.getValue(dc.rowKey, dc.columnKey) });
    }
}