Example usage for org.jfree.chart ChartPanel getChart

List of usage examples for org.jfree.chart ChartPanel getChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartPanel getChart.

Prototype

public JFreeChart getChart() 

Source Link

Document

Returns the chart contained in the panel.

Usage

From source file:ac.kaist.ccs.presentation.CCSHubSelectionCoverage.java

public CCSHubSelectionCoverage(final String title, List<Double> coverSourceNum) {

    super(title);
    this.title = title;
    final XYDataset dataset = createDataset(coverSourceNum);
    final JFreeChart chart = createChart(dataset);
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    final ChartPanel chartPanel = new ChartPanel(chart);

    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new BorderLayout());
    JButton buttonExport = new JButton("Export");
    buttonPanel.add("East", buttonExport);
    buttonExport.addActionListener(new ActionListener() {
        ChartPanel chartPanel;/*from w ww  .  j  ava2 s.  c  o  m*/

        public ActionListener init(ChartPanel chartPanel) {
            this.chartPanel = chartPanel;
            return this;
        }

        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            Dimension size = chartPanel.getSize();

            try {
                //String outPath = textFieldSelectPath.getText();
                //String filename = "chromatography.png";
                //String path = outPath+"/"+filename;
                JFileChooser fileChooser = new JFileChooser();

                fileChooser.setCurrentDirectory(new File("/Users/mac/Desktop"));

                fileChooser.setFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("JPEG", "jpeg"));

                int returnVal = fileChooser.showDialog(new JFrame(), "Open File Path");

                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    String inputPath = fileChooser.getSelectedFile().getAbsolutePath();
                    if (!inputPath.endsWith(".jpeg"))
                        inputPath = inputPath + ".jpeg";

                    OutputStream os = new FileOutputStream(inputPath);
                    System.out.println(inputPath + "///" + size.width + " " + size.height);
                    BufferedImage chartImage = chartPanel.getChart().createBufferedImage(size.width,
                            size.height, null);
                    ImageIO.write(chartImage, "png", os);
                    os.close();
                    JOptionPane.showMessageDialog(null, "Chart image was saved in " + inputPath);

                }

            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }.init(chartPanel));

    panel.add("Center", chartPanel);
    panel.add("South", buttonPanel);

    chartPanel.setPreferredSize(new java.awt.Dimension(700, 500));
    setContentPane(panel);

}

From source file:ac.kaist.ccs.presentation.CCSHubSelectionCo2Coverage.java

public CCSHubSelectionCo2Coverage(final String title, List<Double> coverSourceNum) {

    super(title);
    this.title = title;
    final XYDataset dataset = createDataset(coverSourceNum);
    final JFreeChart chart = createChart(dataset);

    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    final ChartPanel chartPanel = new ChartPanel(chart);

    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new BorderLayout());
    JButton buttonExport = new JButton("Export");
    buttonPanel.add("East", buttonExport);
    buttonExport.addActionListener(new ActionListener() {
        ChartPanel chartPanel;/*from   w w w. j av a 2  s  .c o m*/

        public ActionListener init(ChartPanel chartPanel) {
            this.chartPanel = chartPanel;
            return this;
        }

        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            Dimension size = chartPanel.getSize();

            try {
                //String outPath = textFieldSelectPath.getText();
                //String filename = "chromatography.png";
                //String path = outPath+"/"+filename;
                JFileChooser fileChooser = new JFileChooser();

                fileChooser.setCurrentDirectory(new File("/Users/mac/Desktop"));

                fileChooser.setFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("JPEG", "jpeg"));

                int returnVal = fileChooser.showDialog(new JFrame(), "Open File Path");

                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    String inputPath = fileChooser.getSelectedFile().getAbsolutePath();
                    if (!inputPath.endsWith(".jpeg"))
                        inputPath = inputPath + ".jpeg";

                    OutputStream os = new FileOutputStream(inputPath);
                    System.out.println(inputPath + "///" + size.width + " " + size.height);
                    BufferedImage chartImage = chartPanel.getChart().createBufferedImage(size.width,
                            size.height, null);
                    ImageIO.write(chartImage, "png", os);
                    os.close();
                    JOptionPane.showMessageDialog(null, "Chart image was saved in " + inputPath);

                }

            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }.init(chartPanel));

    panel.add("Center", chartPanel);
    panel.add("South", buttonPanel);

    chartPanel.setPreferredSize(new java.awt.Dimension(700, 500));
    setContentPane(panel);

}

From source file:ac.kaist.ccs.presentation.CCSHubSelectionCost.java

public CCSHubSelectionCost(final String title, Map<Integer, List<Double>> data) {

    super(title);
    this.title = title;
    final XYDataset dataset = createDataset(data);
    final JFreeChart chart = createChart(dataset);
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    final ChartPanel chartPanel = new ChartPanel(chart);

    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new BorderLayout());
    JButton buttonExport = new JButton("Export");
    buttonPanel.add("East", buttonExport);
    buttonExport.addActionListener(new ActionListener() {
        ChartPanel chartPanel;//w  ww.j a  v  a 2  s . c o  m

        public ActionListener init(ChartPanel chartPanel) {
            this.chartPanel = chartPanel;
            return this;
        }

        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            Dimension size = chartPanel.getSize();

            try {
                //String outPath = textFieldSelectPath.getText();
                //String filename = "chromatography.png";
                //String path = outPath+"/"+filename;
                JFileChooser fileChooser = new JFileChooser();

                fileChooser.setCurrentDirectory(new File("/Users/mac/Desktop"));

                fileChooser.setFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("JPEG", "jpeg"));

                int returnVal = fileChooser.showDialog(new JFrame(), "Open File Path");

                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    String inputPath = fileChooser.getSelectedFile().getAbsolutePath();
                    if (!inputPath.endsWith(".jpeg"))
                        inputPath = inputPath + ".jpeg";

                    OutputStream os = new FileOutputStream(inputPath);
                    System.out.println(inputPath + "///" + size.width + " " + size.height);
                    BufferedImage chartImage = chartPanel.getChart().createBufferedImage(size.width,
                            size.height, null);
                    ImageIO.write(chartImage, "png", os);
                    os.close();
                    JOptionPane.showMessageDialog(null, "Chart image was saved in " + inputPath);

                }

            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }.init(chartPanel));

    panel.add("Center", chartPanel);
    panel.add("South", buttonPanel);

    chartPanel.setPreferredSize(new java.awt.Dimension(700, 500));
    setContentPane(panel);

}

From source file:com.appnativa.rare.ui.chart.jfreechart.ChartHandler.java

@Override
public UIImage getChartImage(iPlatformComponent chartPanel, ChartDefinition cd) {
    if (chartPanel == null) {
        return null;
    }/*from ww w .  j av a  2  s. co m*/

    ChartPanel cp = (ChartPanel) chartPanel.getView();

    return new UIImage(cp.getChart().createBufferedImage(cp.getWidth(), cp.getHeight()));
}

From source file:my.electrochem.ElectrochemUI.java

private void readGPESfile(File fileOpen, ChartPanel chartPanel, boolean overlay) throws FileNotFoundException {

    ArrayList<Float> potentials = new ArrayList<>();
    ArrayList<Float> currents = new ArrayList<>();
    BufferedReader br = null;/*  w ww .  j  a va2 s .  c o  m*/

    try {
        String sCurrentLine;
        //Path path = FileSystems.getDefault().getPath("libs", "filename.txt");
        //br = new BufferedReader(new FileReader(path.toString()));
        br = new BufferedReader(new FileReader(fileOpen.getAbsolutePath()));
        String ext = getExtension(fileOpen.getAbsolutePath());

        //TODO: 3-column data for DPV/SWV etc.
        int i = 0;
        while ((sCurrentLine = br.readLine()) != null) {
            if ((i != 0) && (i != 1)) {
                String[] arr = sCurrentLine.split(" ");
                //System.out.println("Array:"+Arrays.toString(arr));
                if (arr.length == 3) {
                    //System.out.println("Potential:"+arr[1]);
                    //System.out.println("Current:"+arr[2]);                         
                    potentials.add(Float.parseFloat(arr[1]));
                    currents.add(Float.parseFloat(arr[2]));
                } else if (arr.length == 5) {
                    potentials.add(Float.parseFloat(arr[2]));
                    currents.add(Float.parseFloat(arr[4]));
                } else if ((arr.length == 4) && (arr[2].equals(arr[0]))) {
                    potentials.add(Float.parseFloat(arr[1]));
                    currents.add(Float.parseFloat(arr[3]));
                } else {
                    potentials.add(Float.parseFloat(arr[2]));
                    currents.add(Float.parseFloat(arr[3]));
                }
            }

            i++;
        }
        System.out.println("potentials:" + potentials);
        System.out.println("currents:" + currents);

        //TODO: show technique at the UI
        //TODO: overlay not possible for different techniques         
        ArrayList<String> labels = getGPESXYlabels(fileOpen, ext);

        ValueAxis xaxis = chartPanel.getChart().getXYPlot().getDomainAxis();
        ValueAxis yaxis = chartPanel.getChart().getXYPlot().getRangeAxis();
        xaxis.setLabel(labels.get(0));
        yaxis.setLabel(labels.get(1));

        XYSeries series = getXYSeriesfromiE(potentials, currents, fileOpen.getName());
        if (!overlay) {
            //System.out.println("no overlay gpes open");
            dataset1.removeAllSeries();
        }

        dataset1.addSeries(series);
        jPanel1.validate();

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (br != null)
                br.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

}

From source file:v800_trainer.JCicloTronic.java

private void Save_Min_Max(int j) {

    ChartPanel Panelb = (ChartPanel) xygraphik;
    if (Panelb != null) {

        graph_min = Panelb.getChart().getXYPlot().getDomainAxis().getLowerBound();
        graph_max = Panelb.getChart().getXYPlot().getDomainAxis().getUpperBound();
        graph_crosshair = Panelb.getChart().getXYPlot().getDomainCrosshairValue();

        if (j != 0 && Graphik_Radio_Strecke.isSelected() == false) {
            Stunden = (int) (Statistikhandle.TourData[j].gesZeit[0] / 3600);
            Minuten = (int) ((Statistikhandle.TourData[j].gesZeit[0] - Stunden * 3600) / 60);
            Sekunden = (int) (Statistikhandle.TourData[j].gesZeit[0] - Stunden * 3600 - Minuten * 60);

            Minuten = Minuten + Statistikhandle.TourData[j].StartMinuten;
            if (Minuten >= 60) {
                Minuten -= 60;//from  www . j  av a 2 s  .  co m
                Stunden++;
            }
            Stunden = Stunden + Statistikhandle.TourData[j].StartStunden;

            offsetsecond = new Second(Sekunden, Minuten, Stunden, Statistikhandle.TourData[j].Tag,
                    Statistikhandle.TourData[j].Monat, Statistikhandle.TourData[j].Jahr);
            graph_min = (graph_min - offsetsecond.getFirstMillisecond()) / 1000;
            graph_max = (graph_max - offsetsecond.getFirstMillisecond()) / 1000;
            graph_crosshair = (graph_crosshair - offsetsecond.getFirstMillisecond()) / 1000;
        }
        if (j == 0 && Graphik_Radio_Strecke.isSelected() == false) {
            Stunden = 0;
            Minuten = 0;
            Sekunden = 0;

            offsetsecond = new Second(Sekunden, Minuten, Stunden, 1, 1, 1900);
            graph_min = (graph_min - offsetsecond.getFirstMillisecond()) / 1000;
            graph_max = (graph_max - offsetsecond.getFirstMillisecond()) / 1000;
            graph_crosshair = (graph_crosshair - offsetsecond.getFirstMillisecond()) / 1000;
        }

    }

}

From source file:v800_trainer.JCicloTronic.java

private void Update_XYGraphik() {

    ChartPanel Panelb;
    Panelb = (ChartPanel) xygraphik;/*from   www .j av a 2s . c o  m*/
    boolean nograph = false;
    if (Panelb == null) {
        nograph = true;
    }

    Update_Graphik_paint = false;
    Graphik_Sub_Panel.removeAll();
    int j = Auswahl_Graphik.getSelectedIndex();
    try {
        if (graphik != null) {
            graphik = null;
        }

        if (Statistikhandle.TourData[j].gefahreneZeit == 0)
            Graphik_Radio_Zeit.setSelected(true);

        graphik = new XYGraphik();
        xygraphik = graphik.StartGraphik(this);

        if (xygraphik != null) {
            Graphik_Sub_Panel.add(xygraphik);

            xygraphik.setSize(Graphik_Sub_Panel.getSize());

        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Update_XYGraphik\nFehler: " + e, "Achtung!",
                JOptionPane.ERROR_MESSAGE);
    }

    Panelb = (ChartPanel) xygraphik;
    if (!nograph && !nozoom) {
        if (Graphik_Radio_Strecke.isSelected() == true) {
            Panelb.getChart().getXYPlot().getDomainAxis().setLowerBound(graph_min);
            Panelb.getChart().getXYPlot().getDomainAxis().setUpperBound(graph_max);
        } else {
            if (j != 0) {

                Stunden = (int) (graph_min / 3600);
                Minuten = (int) ((graph_min - Stunden * 3600) / 60);
                Sekunden = (int) (graph_min - Stunden * 3600 - Minuten * 60);

                Minuten = Minuten + Statistikhandle.TourData[j].StartMinuten;
                if (Minuten >= 60) {
                    Minuten -= 60;
                    Stunden++;
                }
                Stunden = Stunden + Statistikhandle.TourData[j].StartStunden;

                offsetsecond = new Second(Sekunden, Minuten, Stunden, Statistikhandle.TourData[j].Tag,
                        Statistikhandle.TourData[j].Monat, Statistikhandle.TourData[j].Jahr);
                Panelb.getChart().getXYPlot().getDomainAxis().setLowerBound(offsetsecond.getFirstMillisecond());

                Stunden = (int) (graph_max / 3600);
                Minuten = (int) ((graph_max - Stunden * 3600) / 60);
                Sekunden = (int) (graph_max - Stunden * 3600 - Minuten * 60);

                Minuten = Minuten + Statistikhandle.TourData[j].StartMinuten;
                if (Minuten >= 60) {
                    Minuten -= 60;
                    Stunden++;
                }
                ;
                Stunden = Stunden + Statistikhandle.TourData[j].StartStunden;

                offsetsecond = new Second(Sekunden, Minuten, Stunden, Statistikhandle.TourData[j].Tag,
                        Statistikhandle.TourData[j].Monat, Statistikhandle.TourData[j].Jahr);
                Panelb.getChart().getXYPlot().getDomainAxis().setUpperBound(offsetsecond.getFirstMillisecond());

            }
            if (j == 0) {
                Stunden = (int) (graph_min / 3600);
                Minuten = (int) ((graph_min - Stunden * 3600) / 60);
                Sekunden = (int) (graph_min - Stunden * 3600 - Minuten * 60);

                Minuten = Minuten + Statistikhandle.TourData[j].StartMinuten;
                if (Minuten >= 60) {
                    Minuten -= 60;
                    Stunden++;
                }
                ;
                Stunden = Stunden + Statistikhandle.TourData[j].StartStunden;

                offsetsecond = new Second(Sekunden, Minuten, Stunden, 1, 1, 1900);
                Panelb.getChart().getXYPlot().getDomainAxis().setLowerBound(offsetsecond.getFirstMillisecond());

                Stunden = (int) (graph_max / 3600);
                Minuten = (int) ((graph_max - Stunden * 3600) / 60);
                Sekunden = (int) (graph_max - Stunden * 3600 - Minuten * 60);

                Minuten = Minuten + Statistikhandle.TourData[j].StartMinuten;
                if (Minuten >= 60) {
                    Minuten -= 60;
                    Stunden++;
                }
                Stunden = Stunden + Statistikhandle.TourData[j].StartStunden;

                offsetsecond = new Second(Sekunden, Minuten, Stunden, 1, 1, 1900);
                Panelb.getChart().getXYPlot().getDomainAxis().setUpperBound(offsetsecond.getFirstMillisecond());

            }

        }

    } else {
        nozoom = false;
        Save_Min_Max(j);
        alteAuswahl = j;
    }

    repaint();

}