List of usage examples for org.jfree.data.datasetextension DatasetSelectionExtension addSelectionChangeListener
public void addSelectionChangeListener(SelectionChangeListener listener);
From source file:org.jfree.expdemo.SelectionDemo7ScatterRenderer.java
/** * Creates a chart./*from w ww . j a v a 2s.c o m*/ * * @param dataset * the dataset. * * @return A chart. */ private static JFreeChart createChart(final MultiValueCategoryDataset dataset, final DatasetSelectionExtension ext) { ScatterRenderer r = new ScatterRenderer(); CategoryPlot plot = new CategoryPlot(dataset, new CategoryAxis("Category"), new NumberAxis("Value"), r); plot.setBackgroundPaint(Color.lightGray); 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.addSelectionChangeListener(plot); //illustrates the usage of a shape item rendering strategy final CategoryCursor cursor = new CategoryCursor(); r.setShapeIRS(new DefaultShapeIRS(r) { public Shape getItemShape(int row, int column) { cursor.setPosition(dataset.getRowKey(row), 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.expdemo.SelectionDemo4.java
/** * Creates a chart./*w w w .j a v a2 s . c om*/ * * @param dataset * a dataset. * * @return The chart. */ private static JFreeChart createChart(IntervalXYDataset dataset, DatasetSelectionExtension ext) { JFreeChart chart = ChartFactory.createHistogram("SelectionDemo4", null, null, dataset, PlotOrientation.VERTICAL, true, true, false); 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.setBaseOutlinePaint(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.addSelectionChangeListener(plot); return chart; }
From source file:org.jfree.expdemo.SelectionDemo6Pie.java
public JPanel createDemoPanel() { this.dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new PieDatasetSelectionExtension(this.dataset); datasetExtension.addSelectionChangeListener(this); //standard setup JFreeChart chart = createChart(this.dataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);/* w w w. ja v a2s . 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.expdemo.SelectionDemo4.java
/** * Creates a panel for the demo (used by SuperDemo.java). * /*www .j av a 2s. co m*/ * @return A panel. */ public JPanel createDemoPanel() { IntervalXYDataset dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new XYDatasetSelectionExtension(dataset); datasetExtension.addSelectionChangeListener(this); //standard setup JFreeChart chart = createChart(dataset, 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[] { dataset }, dExManager); selectionManager.setIntersectionSelection(true); panel.setSelectionManager(selectionManager); return panel; }
From source file:org.jfree.expdemo.SelectionDemo2.java
/** * Creates a panel for the demo (used by SuperDemo.java). * * @return A panel./*from www . ja v a2s . c o m*/ */ public JPanel createDemoPanel() { XYDataset dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new XYDatasetSelectionExtension(dataset); datasetExtension.addSelectionChangeListener(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.expdemo.SelectionDemo3.java
/** * Creates a panel for the demo (used by SuperDemo.java). * * @return A panel.//from w ww .ja va 2 s .co m */ public JPanel createDemoPanel() { XYDataset dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new XYDatasetSelectionExtension(dataset); datasetExtension.addSelectionChangeListener(this); //standard setup JFreeChart chart = createChart(dataset, 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[] { dataset }, dExManager)); return panel; }
From source file:org.jfree.expdemo.SelectionDemo1.java
/** * Creates a chart./*ww w. j a va2s. c o m*/ * * @param dataset * a dataset. * * @return A chart. */ private static JFreeChart createChart(XYDataset dataset, DatasetSelectionExtension ext) { JFreeChart chart = ChartFactory.createTimeSeriesChart("Stock Prices", // title "Date", // x-axis label "Price Per Unit", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); 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.addSelectionChangeListener(plot); return chart; }
From source file:org.jfree.expdemo.SelectionDemo5Category.java
public JPanel createDemoPanel() { this.dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new CategoryDatasetSelectionExtension(this.dataset); datasetExtension.addSelectionChangeListener(this); //standard setup JFreeChart chart = createChart(this.dataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);//from ww w.j a v a 2 s . c o m // 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[] { this.dataset }, dExManager)); return panel; }
From source file:org.jfree.expdemo.SelectionDemo1.java
public JPanel createDemoPanel() { XYDataset dataset = createDataset(); //extend dataset and add selection change listener for the demo DatasetSelectionExtension datasetExtension = new XYDatasetSelectionExtension(dataset); datasetExtension.addSelectionChangeListener(this); //standard setup JFreeChart chart = createChart(dataset, datasetExtension); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true);/* www . ja v a 2s .co 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[] { dataset }, dExManager)); return panel; }
From source file:org.jfree.expdemo.SelectionDemo6Pie.java
private static JFreeChart createChart(final PieDataset dataset, DatasetSelectionExtension ext) { JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo 2", // chart title dataset, // dataset true, // include legend true, false);// www. j a va 2 s .c om 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); plot.setInteriorGap(0.1); //pie plots done use abstract renderers need to react to selection on our own final PieCursor cursor = new PieCursor(); ext.addSelectionChangeListener(new SelectionChangeListener() { public void selectionChanged(SelectionChangeEvent event) { for (int i = 0; i < dataset.getItemCount(); i++) { cursor.setPosition(dataset.getKey(i)); if (event.getSelectionExtension().isSelected(cursor)) { plot.setExplodePercent(cursor.key, 0.15); } else { plot.setExplodePercent(cursor.key, 0.0); } } } }); return chart; }