Como havia prometido estopu postando aqui a minha solução so encontrei um probleminha se alguem poder resolver e postar aqui agradeço
PS : esta funcionando o problema esta na troca de imagem
A CLASSE DOS GRAFICOS
import java.awt.Color;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
public class Graficos {
public Graficos(){
}
public JFreeChart pizza(){
DefaultPieDataset pieData = new DefaultPieDataset();
pieData.setValue("Retornados", 50);
pieData.setValue("Enviados", 70);
//Criação da pizza3d
JFreeChart chart = ChartFactory.createPieChart("Pizza", pieData, true, true, false);
return chart;
}
public JFreeChart pizza3d(){
DefaultPieDataset pieData = new DefaultPieDataset();
pieData.setValue("Retornados", 100);
pieData.setValue("Enviados", 70);
// Criação da pizza3d
JFreeChart chart = ChartFactory.createPieChart3D("Modelo Pizza", pieData, true, true, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
// Posição da pizza
plot.setStartAngle(240);
// Trasparencia da Pizza
plot.setForegroundAlpha(0.5f);
// Define o Tamanho da Pizza
plot.setInteriorGap(0.33);
return chart;
}
public JFreeChart barra(){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Retornaveis", "");
dataset.addValue(2.0, "Imoveis Retornados", "");
dataset.addValue(3.0, "Leituras Retornadas", "");
dataset.addValue(5.0, "Faturas Impressas", "");
JFreeChart chart = ChartFactory.createBarChart3D("Modelo BarChart","","",dataset,PlotOrientation.VERTICAL,
true, // Inclusão da Legenda
true,false );
//Cor de Fundo de tela do Charts
chart.setBackgroundPaint(Color.lightGray);
CategoryPlot plot = chart.getCategoryPlot();
//Cor de Fundo do Chrats
plot.setBackgroundPaint(Color.lightGray);
//Cor de linha vertical de Fundo do charts
plot.setDomainGridlinePaint(Color.black);
//permição de visualização de linha
plot.setDomainGridlinesVisible(true);
//Cor de linha Horizontal de Fundo do charts
plot.setRangeGridlinePaint(Color.black);
// set the range axis to display integers only...
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
// Monta as cores das barras
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);
// Adiciona cada tipo de car para cada Barra
renderer.setSeriesPaint(0, Color.red);
renderer.setSeriesPaint(1, Color.green);
renderer.setSeriesPaint(2, Color.blue);
renderer.setSeriesPaint(4, Color.yellow);
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));
return chart;
}
}
A CLASSE DE EXECUÇÃO DOS GRAFICOS
import java.awt.Frame;
import java.awt.GridLayout;
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
public class JfreeChart {
protected static Composite chartComposite;
protected static Graficos grafico;
protected static Frame chartFrame;
protected static JFreeChart monta;
private void executar(){
Display display = new Display();
final Shell shell = new Shell(display);
//Montando A area para colocar os Graficos
grafico = new Graficos();
chartComposite = new Composite(shell, SWT.EMBEDDED);
chartComposite.setLayoutData(new GridLayout());
chartComposite.setLocation(250, 10);
chartComposite.setSize(400, 373);
shell.setLayout(null);
final Menu menu = new Menu(shell, SWT.BAR);
shell.setMenuBar(menu);
final MenuItem menuItem = new MenuItem(menu, SWT.CASCADE);
menuItem.setText("Menu");
final Menu menu_1 = new Menu(menuItem);
menuItem.setMenu(menu_1);
//Menu Sair
final MenuItem sairMenuItem = new MenuItem(menu_1, SWT.NONE);
sairMenuItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
System.exit(0);
}
});
sairMenuItem.setText("Sair");
final Tree t = new Tree(shell, SWT.BORDER | SWT.MULTI |SWT.V_SCROLL);
t.setBounds(0, 10, 237, 373);
final TreeItem modelos = new TreeItem(t, SWT.NONE);
modelos.setText("Modelos de Graficos");
final TreeItem barchart = new TreeItem(modelos, SWT.NONE);
barchart.setText("BarChart");
final TreeItem pizza3d = new TreeItem(modelos, SWT.NONE);
pizza3d.setText("Pizza 3D");
t.addListener (SWT.MouseDown, new Listener () {
public void handleEvent (Event event) {
Point point = new Point (event.x, event.y);
TreeItem item = t.getItem (point);
chartFrame = null;
if (item != null) {
if(item == barchart){
monta = grafico.barra();
// Adicionando o frame a SWT_AWT
chartFrame = null;
chartFrame = SWT_AWT.new_Frame(chartComposite);
ChartPanel cp = new ChartPanel(monta);
chartFrame.add(cp);
System.out.println("BarChart");
}else{
if(item == pizza3d){
monta = grafico.pizza3d();
// Adicionando o frame a SWT_AWT
chartFrame = null;
chartFrame = SWT_AWT.new_Frame(chartComposite);
ChartPanel cp = new ChartPanel(monta);
chartFrame.add(cp);
System.out.println("Pizza3D");
}
}
}
}
});
shell.open();
shell.pack();
shell.setSize(669, 454);
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
public static void main(String[] args) {
JfreeChart instancia = new JfreeChart();
instancia.executar();
}
}