List of usage examples for org.jfree.chart ChartPanel getChart
public JFreeChart getChart()
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(); }