[RESOLVIDO] Geração de dois gráficos java

Como que faço para que o JPanel gere dois gráficos um do lado do outro no mesmo JPanel?

No momento apenas consigo com duas janelas

Método main:

BarChart demo = new BarChart("TESTE","TESTE");
demo.pack();
demo.setVisible(true);

import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.util.Rotation;

    public class BarChart extends JFrame {

    	private static final long serialVersionUID = 1L;

    	public BarChart(String applicationTitle, String chartTitle) {
    		super(applicationTitle);
    		// Isso irá criar o conjunto de dados
    		XYDataset dataset = createDataset();

    		// com base no conjunto de dados que criamos o gráfico
    		JFreeChart chart = createChart(dataset, chartTitle);

    		// vamos colocar o gráfico em um painel
    		ChartPanel chartPanel = new ChartPanel(chart);

    		// default tamanho
    		chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

    		// adiciona a nossa aplicação
    		setContentPane(chartPanel);

    	}

    	/**
    	 * Cria um conjunto de dados de amostra 
    	 */

    	private XYDataset createDataset() {
    		XYSeries series = new XYSeries("Linux Users");
    		series.add(1995, 0.5);
    		series.add(2000, 3.0);
    		series.add(2010, 20.0);
    		series.add(2020, 50.0);
    		XYDataset dataset = new XYSeriesCollection(series);
    		return dataset;

    	}

    	/**
    	 * Cria um gráfico 
    	 */

    	private JFreeChart createChart(XYDataset dataset, String title) {

    		JFreeChart chart = ChartFactory.createXYAreaChart( // título / gráfico 
    				title, title,title, dataset, // dados 
    				org.jfree.chart.plot.PlotOrientation.VERTICAL, true, // include lenda
    				false, false);

    	//	PiePlot3D plot = (PiePlot3D) chart.getPlot();
    	//	plot.setStartAngle(290);
    	//	plot.setDirection(Rotation.CLOCKWISE);
    	//	plot.setForegroundAlpha(0.5f);
    		
    		
    		try {
    			  ChartUtilities.saveChartAsPNG(
    		          new java.io.File("Distros.png"), chart, 500, 300);
    			} catch (java.io.IOException exc) {
    			    System.err.println("Error writing image to file");

    			}
    		
    		return chart;

    	}

    }

Consegui utilizando o BorderLayout

	    getContentPane().add(chartPanel,BorderLayout.PAGE_START);
		getContentPane().add(chartPanel2, BorderLayout.LINE_START);
		getContentPane().add(chartPanel3, BorderLayout.CENTER);
		getContentPane().add(chartPanel4, BorderLayout.LINE_END);
		getContentPane().add(chartPanel5, BorderLayout.PAGE_END);
1 curtida

@ [Kassioburgadon]

Poderia disponibilizar seu codigo, estou com o mesmo problema, ja tentei incluir o getContentPane mas continuo enfrentando algum problema, nao imprimi nada na tela, acredito que estou adicionando o grafico no lugar errado.

Obrigado