List of usage examples for org.jfree.data.extension DatasetSelectionExtension addChangeListener
public void addChangeListener(T listener);
From source file:org.jfree.chart.demo.selection.SelectionDemo7ScatterRenderer.java
/** * Creates a chart.// w w w . jav a 2 s . co m * * @param dataset the dataset. * * @return A chart. */ private static JFreeChart createChart(final MultiValueCategoryDataset dataset, final DatasetSelectionExtension<CategoryCursor<String, String>> ext) { ScatterRenderer r = new ScatterRenderer(); CategoryPlot plot = new CategoryPlot(dataset, new CategoryAxis("Category"), new NumberAxis("Value"), r); plot.setBackgroundColor(Color.LIGHT_GRAY); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.setAxisOffset(new RectangleInsets(4, 4, 4, 4)); JFreeChart chart = new JFreeChart("ScatterRendererDemo1", plot); ChartUtilities.applyCurrentTheme(chart); //register the plot ext.addChangeListener(plot); //illustrates the usage of a shape item rendering strategy final CategoryCursor<String, String> cursor = new CategoryCursor<String, String>(); r.setShapeIRS(new DefaultShapeIRS(r) { private static final long serialVersionUID = 1L; @Override public Shape getItemShape(int row, int column) { cursor.setPosition((String) dataset.getRowKey(row), (String) dataset.getColumnKey(column)); if (ext.isSelected(cursor)) { return new Rectangle2D.Double(-10.0, -10.0, 20.0, 20.0); } else { return super.getItemShape(row, column); } } }); return chart; }
From source file:org.jfree.chart.demo.selection.SelectionDemo1.java
/** * Creates a chart./*from w w w . j a v a 2 s . c o m*/ * * @param dataset a dataset. * * @return A chart. */ private static JFreeChart createChart(XYDataset dataset, DatasetSelectionExtension<XYCursor> ext) { JFreeChart chart = ChartFactory.createTimeSeriesChart("Stock Prices", "Date", "Price Per Unit", dataset); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainPannable(true); plot.setRangePannable(true); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); XYLineAndShapeRenderer r = (XYLineAndShapeRenderer) plot.getRenderer(); r.setBaseShapesVisible(true); r.setBaseShapesFilled(true); r.setUseFillPaint(true); r.setSeriesFillPaint(0, r.lookupSeriesPaint(0)); r.setSeriesFillPaint(1, r.lookupSeriesPaint(1)); //add selection specific rendering IRSUtilities.setSelectedItemFillPaint(r, ext, Color.white); //register plot as selection change listener ext.addChangeListener(plot); return chart; }
From source file:org.jfree.chart.demo.selection.SelectionDemo4.java
/** * Creates a chart./* w w w . ja v a 2s. c om*/ * * @param dataset a dataset. * * @return The chart. */ private static JFreeChart createChart(IntervalXYDataset dataset, DatasetSelectionExtension<XYCursor> ext) { JFreeChart chart = ChartFactory.createHistogram("SelectionDemo4", null, null, dataset); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainPannable(true); plot.setRangePannable(true); plot.setForegroundAlpha(0.85f); NumberAxis yAxis = (NumberAxis) plot.getRangeAxis(); yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer(); renderer.setDrawBarOutline(true); renderer.setDefaultOutlinePaint(Color.red); renderer.setBarPainter(new StandardXYBarPainter()); renderer.setShadowVisible(false); //add selection specific rendering IRSUtilities.setSelectedItemPaint(renderer, ext, Color.white); //register plot as selection change listener ext.addChangeListener(plot); return chart; }
From source file:org.jfree.chart.demo.selection.SelectionDemo8.java
/** * Creates a chart.//w ww . j a va 2s . co m * * @param dataset a dataset. * * @return A chart. */ private static JFreeChart createChart(XYDataset dataset, DatasetSelectionExtension<XYCursor> ext) { JFreeChart chart = ChartFactory.createTimeSeriesChart("Stock Prices", "Date", "Price Per Unit", dataset); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainPannable(true); plot.setRangePannable(true); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); XYLineAndShapeRenderer r = (XYLineAndShapeRenderer) plot.getRenderer(); r.setBaseShapesVisible(true); r.setBaseShapesFilled(true); r.setUseFillPaint(true); r.setSeriesFillPaint(0, r.lookupSeriesPaint(0)); r.setSeriesFillPaint(1, r.lookupSeriesPaint(1)); r.setDrawOutlines(true); //add selection specific rendering IRSUtilities.setSelectedItemFillPaint(r, ext, Color.white); //register plot as selection change listener ext.addChangeListener(plot); return chart; }
From source file:org.jfree.chart.demo.selection.SelectionDemo4.java
/** * Creates a panel for the demo (used by SuperDemo.java). * //from www . j av a 2 s . c o m * @return A panel. */ public final JPanel createDemoPanel() { IntervalXYDataset xydataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<XYCursor> datasetExtension = new XYDatasetSelectionExtension(xydataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(xydataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true); // add a selection handler RegionSelectionHandler selectionHandler = new FreePathSelectionHandler(); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(new MouseClickSelectionHandler()); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager with intersection selection DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); EntitySelectionManager selectionManager = new EntitySelectionManager(panel, new Dataset[] { xydataset }, dExManager); selectionManager.setIntersectionSelection(true); panel.setSelectionManager(selectionManager); return panel; }
From source file:org.jfree.chart.demo.selection.SelectionDemo2.java
/** * Creates a panel for the demo (used by SuperDemo.java). * * @return A panel./*www. jav a 2 s . c o m*/ */ public JPanel createDemoPanel() { XYDataset dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<XYCursor> datasetExtension = new XYDatasetSelectionExtension(dataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(dataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true); // add a selection handler RegionSelectionHandler selectionHandler = new CircularRegionSelectionHandler(); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(new MouseClickSelectionHandler()); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); panel.setSelectionManager(new EntitySelectionManager(panel, new Dataset[] { dataset }, dExManager)); return panel; }
From source file:org.jfree.chart.demo.selection.SelectionDemo6Pie.java
public final JPanel createDemoPanel() { this.dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<PieCursor<String>> datasetExtension = new PieDatasetSelectionExtension<String>( this.dataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(this.dataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);// w w w . j a v a 2s . co m //add a selection handler with shift modifier for clicking RegionSelectionHandler selectionHandler = new FreeRegionSelectionHandler(); AbstractMouseHandler clickHandler = new MouseClickSelectionHandler(InputEvent.SHIFT_MASK); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(clickHandler); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); panel.setSelectionManager(new EntitySelectionManager(panel, new Dataset[] { dataset }, dExManager)); return panel; }
From source file:org.jfree.chart.demo.selection.SelectionDemo3.java
/** * Creates a panel for the demo (used by SuperDemo.java). * * @return A panel./*from ww w . ja v a2s. c o m*/ */ public final JPanel createDemoPanel() { XYDataset xydataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<XYCursor> datasetExtension = new XYDatasetSelectionExtension(xydataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(xydataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true); // add a selection handler RegionSelectionHandler selectionHandler = new RectangularRegionSelectionHandler(); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(new MouseClickSelectionHandler()); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); panel.setSelectionManager(new EntitySelectionManager(panel, new Dataset[] { xydataset }, dExManager)); return panel; }
From source file:org.jfree.chart.demo.selection.SelectionDemo8.java
public final JPanel createDemoPanel() { XYDataset xydataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<XYCursor> datasetExtension = new XYDatasetSelectionExtension(xydataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(xydataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);// w w w. j a v a 2 s .c o m // add a selection handler RegionSelectionHandler selectionHandler = new RectangularHeightRegionSelectionHandler(); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(new MouseClickSelectionHandler()); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); panel.setSelectionManager(new EntitySelectionManager(panel, new Dataset[] { xydataset }, dExManager)); return panel; }
From source file:org.jfree.chart.demo.selection.SelectionDemo1.java
public final JPanel createDemoPanel() { XYDataset xydataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension<XYCursor> datasetExtension = new XYDatasetSelectionExtension(xydataset); datasetExtension.addChangeListener(this); //standard setup JFreeChart chart = createChart(xydataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);// ww w .ja v a 2s . c o m // add a selection handler RegionSelectionHandler selectionHandler = new FreeRegionSelectionHandler(); panel.addMouseHandler(selectionHandler); panel.addMouseHandler(new MouseClickSelectionHandler()); panel.removeMouseHandler(panel.getZoomHandler()); // add a selection manager DatasetExtensionManager dExManager = new DatasetExtensionManager(); dExManager.registerDatasetExtension(datasetExtension); panel.setSelectionManager(new EntitySelectionManager(panel, new Dataset[] { xydataset }, dExManager)); return panel; }