Example usage for org.jfree.chart ChartPanel setBounds

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

Introduction

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

Prototype

public void setBounds(int x, int y, int width, int height) 

Source Link

Document

Moves and resizes this component.

Usage

From source file:JQGraphicModule.QueryTableApp.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    ChartPanel panel;
    JFreeChart chart = null;/*www  . j  a v a2s .  co  m*/
    if (l.isSelected()) {
        // linear chart
        int validar = 1;
        XYSplineRenderer renderer = new XYSplineRenderer();
        XYSeriesCollection dataset = new XYSeriesCollection();

        XYSeries serie = new XYSeries("Data");

        XYPlot plot;
        lineas.removeAll();

        try {
            for (int f = 0; f < 6; f++) {
                serie.add(Float.parseFloat(String.valueOf(datos.getValueAt(f, 0))),
                        Float.parseFloat(String.valueOf(datos.getValueAt(f, 1))));
            }
        } catch (Exception e) {
            validar = 0;
            System.out.println("Cannot create data series for line graph");
        } // end catch

        if (validar == 1) {
            dataset.addSeries(serie);
            plot = new XYPlot(dataset, x, y, rederer);
            chart = new JFreeChart(plot);
            chart.setTitle("Line chart");
        } else {
            JOptionPane.showMessageDialog(this, "You should fill the table with data");
        }

    } else {
        if (b.isSelected()) {
            // bar chart
            DefaultCategoryDataset data = new DefaultCategoryDataset();
            // TODO: finish the bar chart
        } else {
            // pir chart
        } // end else
    }
    panel = new ChartPanel(chart);
    panel.setBounds(5, 10, 410, 350);
    if (l.isSelected()) {
        lineas.add(panel);
        lineas.repaint();
    } else {
        if (b.isSelected()) {
            //bar chart
        } //end if
        else { // pie chart
        } // end else
    } //end else
}

From source file:co.edu.eam.dinesoft.egresados.vista.gui.VentanaReportes.java

/**
 * Grafica de barras indicando la cantidad de vacantes disponibles por
 * oferta laboral//  w w w  .  j  a  v  a 2 s  . c  om
 */
public void ofertasAbriertas() {
    ChartPanel panel;
    try {
        List<OfertaLaboral> listaOfertaLab = controlador.listarOfertas();

        int contador = 0;
        AreasInteres areaAnterior = null;
        DefaultCategoryDataset ds = new DefaultCategoryDataset();

        for (int i = 0; i < listaOfertaLab.size(); i++) {
            // Validacion de oferta
            if (listaOfertaLab.get(i).isCerrarOferta() == false) {
                areaAnterior = listaOfertaLab.get(i).getArea();
                for (int j = 0; j < listaOfertaLab.size(); j++) {
                    if (listaOfertaLab.get(j).getArea() == areaAnterior) {
                        contador++;
                    }
                }
                ds.addValue(contador, listaOfertaLab.get(i).getArea().getNombre(),
                        listaOfertaLab.get(i).getArea().getNombre());
                contador = 0;
            }
        }

        JFreeChart jf = ChartFactory.createBarChart3D("Reporte de ofertas abiertas", "Nombre de las ofertas",
                "Numero de vacantes", ds, PlotOrientation.VERTICAL, true, true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 20, 720, 320);

        panelOfertasAbiertas.add(panel);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:co.edu.eam.dinesoft.egresados.vista.gui.VentanaReportes.java

private void jCBProgramaRep2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jCBProgramaRep2ItemStateChanged
    // TODO add your handling code here:
    ChartPanel panel;
    try {/*w  ww  .j ava  2 s .c o  m*/

        Programa programa = (Programa) jCBProgramaRep2.getSelectedItem();

        List<OfertaLaboral> listaOfertaLab = controlador.ofertaLabPrograma(programa);

        int contador = 0;
        AreasInteres areaAnterior = null;
        DefaultCategoryDataset ds = new DefaultCategoryDataset();

        for (int i = 0; i < listaOfertaLab.size(); i++) {
            panelOfertasAbiertas.removeAll();
            // Validacion de oferta
            if (listaOfertaLab.get(i).isCerrarOferta() == false) {
                areaAnterior = listaOfertaLab.get(i).getArea();
                for (int j = 0; j < listaOfertaLab.size(); j++) {
                    if (listaOfertaLab.get(j).getArea() == areaAnterior) {
                        contador++;
                    }
                }
                ds.addValue(contador, listaOfertaLab.get(i).getArea().getNombre(),
                        listaOfertaLab.get(i).getArea().getNombre());
                contador = 0;
            }
        }

        JFreeChart jf = ChartFactory.createBarChart3D("Reporte de ofertas abiertas", "Nombre de las ofertas",
                "Numero de vacantes", ds, PlotOrientation.VERTICAL, true, true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 20, 720, 320);

        panelOfertasAbiertas.add(panel);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:forms.FormFluxodeCaixa.java

public List<CarCapContas> CarregarGraficoJTable(String nome, TipoGrafico tipografico, int posicao,
        TipoConta tipoconta, Date DataInicial, Date DataFinal, FiltroData filtro) {

    //Calendar c2 = Calendar.getInstance();
    // posicao = 1 (esquerda), posicao = 2 (direita), posicao 3 = JTable direita
    if (posicao == 1) {

        if (tipografico.equals(TipoGrafico.barras) || tipografico.equals(TipoGrafico.pizza)) {

            Graficos grap = new Graficos(tipo, this.titulo);
            JFreeChart j = null;/*ww w  . j ava  2 s.c  om*/

            if (tipografico.equals(TipoGrafico.barras)) {

                j = grap.GraficoBarras(contas, "Entradas X Saidas", filtro, "full", dataInicial, dataFinal);

            } else if (tipografico.equals(TipoGrafico.pizza)) {

                j = grap.GraficoPizza("Grfico de Pizza", contas, filtro);

            }

            ChartPanel chart = new ChartPanel(j);

            WebPanelGrafico.removeAll();

            webPanel_Split.validate();

            int largura = WebPanelGrafico.getWidth();
            int altura = WebPanelGrafico.getHeight();

            WebPanelGrafico.setBounds(0, 0, largura, altura);

            chart.setBounds(0, 0, largura, altura);
            chart.addPropertyChangeListener(null);

            WebPanelGrafico.add(chart);

            WebPanelGrafico.revalidate();
            WebPanelGrafico.repaint();

        } else {

            Graficos grap = new Graficos(tipo, this.titulo);

            ChartPanel c = grap.informarDadosGrafico("grafico", contas);

            WebPanelGrafico.removeAll();

            webPanel_Split.validate();

            int largura = WebPanelGrafico.getWidth();
            int altura = WebPanelGrafico.getHeight();

            WebPanelGrafico.setBounds(0, 0, largura, altura);

            c.setBounds(0, 0, largura, altura);
            c.addPropertyChangeListener(null);

            WebPanelGrafico.add(c);

            WebPanelGrafico.revalidate();
            WebPanelGrafico.repaint();

        }

    } else if (posicao == 2) {

        if (tipografico.equals(TipoGrafico.barras) || tipografico.equals(TipoGrafico.pizza)) {

            Graficos grap = new Graficos(tipo, this.titulo);
            JFreeChart j = null;

            if (tipografico.equals(TipoGrafico.barras)) {

                j = grap.GraficoBarras(contas, "Entradas X Saidas", filtro, "full", dataInicial, dataFinal);

            } else if (tipografico.equals(TipoGrafico.pizza)) {

                j = grap.GraficoPizza("Grfico de Pizza", contas, filtro);

            }

            ChartPanel chart = new ChartPanel(j);

            webPanel_Tabela.removeAll();

            webPanel_Split.validate();

            int largura = webPanel_Tabela.getWidth();
            int altura = webPanel_Tabela.getHeight();

            webPanel_Tabela.setBounds(0, 0, largura, altura);

            chart.setBounds(0, 0, largura, altura);

            webPanel_Tabela.add(chart);

            webPanel_Tabela.revalidate();
            webPanel_Tabela.repaint();

        } else {

            Graficos grap = new Graficos(tipo, this.titulo);

            ChartPanel c = grap.informarDadosGrafico("grafico", contas);

            webPanel_Tabela.removeAll();

            webPanel_Split.validate();

            int largura = webPanel_Tabela.getWidth();
            int altura = webPanel_Tabela.getHeight();

            webPanel_Tabela.setBounds(0, 0, largura, altura);

            c.setBounds(0, 0, largura, altura);

            webPanel_Tabela.add(c);

            webPanel_Tabela.revalidate();
            webPanel_Tabela.repaint();

        }

    } else if (posicao == 3) {

        double totalEntradas = 0;
        double totalSaidas = 0;
        double totalDisponivel = 0;

        double valorEntrada = 0;
        double valorSaida = 0;

        String valorSaidaFinal = null;
        String valorEntradaFinal = null;
        String SaldoDia = null;

        WebTable tablenovo = new WebTable();

        DefaultTableModel modelTabela = new DefaultTableModel(
                new Object[] { "Data", "Entradas", "Sadas", "Saldo do Dia" }, 0);

        // Tive que criar esse cara por que o valor da data final de perdia ao clicar em filtrar
        String dataInicialSetada = Utils.formatData(txtDataInicial.getDate());
        String dataFinalsetada = Utils.formatData(txtDataFinal.getDate());

        int intervaloDatas = new utils.Utils().diasEntreDatas(dataInicialSetada, dataFinalsetada);

        // aqui eu seto o valor que estava novamente no campo, no sei por que ele ta perdendo o valor :/
        txtDataFinal.setText(dataFinalsetada);
        txtDataInicial.setText(dataInicialSetada);

        Date dataAtualdoLoop;
        Calendar c = Calendar.getInstance();

        c.setTime(dataInicial);

        for (int j = 0; j <= intervaloDatas; j++) {

            totalEntradas = 0;
            totalSaidas = 0;

            dataAtualdoLoop = c.getTime();

            for (CarCapContas i : contas) {

                System.out.println("data 1:" + Utils.formatData(dataAtualdoLoop) + "data2: "
                        + Utils.formatData(i.getContaDataEmissao()));

                if (Utils.formatData(dataAtualdoLoop).equals(Utils.formatData(i.getContaDataEmissao()))) {

                    if (i.getContaTipo().equals(TipoConta.Entrada)) {

                        valorEntrada += i.getContaValorPago();

                    } else {

                        valorSaida += i.getContaValorPago();

                    }

                    valorSaidaFinal = Utils.formatDouble.format(valorSaida);
                    valorEntradaFinal = Utils.formatDouble.format(valorEntrada);
                    SaldoDia = Utils.formatDouble.format(valorEntrada - valorSaida);

                    if (valorSaida == 0.00) {

                        valorSaidaFinal = "";

                    } else if (valorEntrada == 0.00) {

                        valorEntradaFinal = "";

                    } else if (valorEntrada - valorSaida == 0.00) {

                        SaldoDia = "";

                    }

                }

                if (i.getContaTipo().equals(TipoConta.Entrada)) {

                    totalEntradas += i.getContaValorPago();

                } else if (i.getContaTipo().equals(TipoConta.Saida)) {

                    totalSaidas += i.getContaValorPago();

                }
            }

            if (SaldoDia != null) {

                Object[] data = { Utils.formatData(dataAtualdoLoop), valorEntradaFinal, valorSaidaFinal,
                        SaldoDia };

                modelTabela.addRow(data);
                valorEntradaFinal = null;
                valorSaidaFinal = null;
                valorEntrada = 0;
                valorSaida = 0;
                SaldoDia = null;

            }
            c.add(Calendar.DATE, +1);
        }

        tablenovo.setModel(modelTabela);

        TableCellRenderer renderer = new ColorCells(true);
        tablenovo.setDefaultRenderer(String.class, renderer);
        tablenovo.setDefaultRenderer(Integer.class, renderer);
        tablenovo.setDefaultRenderer(BigDecimal.class, renderer);
        tablenovo.setDefaultRenderer(Date.class, renderer);

        tablenovo.setDefaultRenderer(Object.class, renderer);

        txtTotalEntradas.setText(String.valueOf(Utils.format(totalEntradas)));
        txtTotalSaidas.setText(String.valueOf(Utils.format(totalSaidas)));

        txtTotal.setText(String.valueOf(Utils.format(totalEntradas - totalSaidas)));

        JScrollPane tableContainer = new JScrollPane(tablenovo);

        webPanel_Tabela.removeAll();

        webPanel_Split.validate();

        int largura = webPanel_Tabela.getWidth();
        int altura = webPanel_Tabela.getHeight();

        webPanel_Tabela.setBounds(0, 0, largura, altura);

        tableContainer.setBounds(0, 0, largura, altura);

        webPanel_Tabela.add(tableContainer);

        webPanel_Tabela.revalidate();
        webPanel_Tabela.repaint();

    } else if (posicao == 4) {

        return contas;

    }

    return null;
}

From source file:co.edu.eam.ingesoft.egresados.vista.gui.VentanaReporteEgresadosOcupacion.java

/**
 * metodo para cargar la grafica de reporte
 *//*from  w  w w  . j a va2 s .  co  m*/
public void global() {
    ChartPanel panel;
    try {
        List<InformacionLaboral> listaInfoLab = controlador.listarInformacionLaboral();
        jPPrimero.removeAll();
        jPSegundo.removeAll();
        double empleado = 0;
        double desempleado = 0;
        double independiente = 0;
        double empresario = 0;

        int contadorEmpleado = 0;
        int contadordDesempleado = 0;
        int contadorIndependiente = 0;
        int contadorEmpresario = 0;

        for (int i = 0; i < listaInfoLab.size(); i++) {
            if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.EMPLEADO)) {
                contadorEmpleado++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.DESEMPLEADO)) {
                contadordDesempleado++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.INDEPENDIENTE)) {
                contadorIndependiente++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.EMPRESARIO)) {
                contadorEmpresario++;
            } else {
                JOptionPane.showMessageDialog(null, "No hay empleados registrados");
            }

            empleado = (contadorEmpleado * 100) / listaInfoLab.size();
            desempleado = (contadordDesempleado * 100) / listaInfoLab.size();
            independiente = (contadorIndependiente * 100) / listaInfoLab.size();
            empresario = (contadorEmpresario * 100) / listaInfoLab.size();
        }
        DefaultPieDataset ds = new DefaultPieDataset();
        ds.setValue("Empleado: " + empleado + "%", empleado);
        ds.setValue("Desempleado: " + desempleado + "%", desempleado);
        ds.setValue("Independiente: " + independiente + "%", independiente);
        ds.setValue("Empresario: " + empresario + "%", empresario);

        JFreeChart jf = ChartFactory.createPieChart3D("Reporte de egresados por tipo de ocupacin", ds, true,
                true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 50, 280, 280);

        jPPrimero.add(panel);
    } catch (Exception e) {

    }
}

From source file:co.edu.eam.ingesoft.desarrollo.vista.gui.ReportesEstadisticas.java

private void jCBProgramaItemStateChanged(java.awt.event.ItemEvent evt) {// GEN-FIRST:event_jCBProgramaItemStateChanged

    try {//  ww w.  j  ava2 s .c o m
        ChartPanel panel;
        Programa programa = (Programa) jCBPrograma.getSelectedItem();
        List<InformacionLaboral> listaInfoLab = controlador.listaEgresadosPorOcupacion(programa);

        jPanelEgresadosPorOcup.removeAll();

        double empleado = 0;
        double desempleado = 0;
        double independiente = 0;
        double empresario = 0;

        int contadorEmpleado = 0;
        int contadordDesempleado = 0;
        int contadorIndependiente = 0;
        int contadorEmpresario = 0;

        for (int i = 0; i < listaInfoLab.size(); i++) {
            if (listaInfoLab.get(i).getSituacionActual().equals("Empleado")) {
                contadorEmpleado++;
            } else if (listaInfoLab.get(i).getSituacionActual().equals("Desempleado")) {
                contadordDesempleado++;
            } else if (listaInfoLab.get(i).getSituacionActual().equals("Independiente")) {
                contadorIndependiente++;
            } else if (listaInfoLab.get(i).getSituacionActual().equals("Empresario")) {
                contadorEmpresario++;
            } else {
                JOptionPane.showMessageDialog(null, "No hay empleados registrados");
            }

            empleado = (contadorEmpleado * 100) / listaInfoLab.size();
            desempleado = (contadordDesempleado * 100) / listaInfoLab.size();
            independiente = (contadorIndependiente * 100) / listaInfoLab.size();
            empresario = (contadorEmpresario * 100) / listaInfoLab.size();
        }
        DefaultPieDataset ds = new DefaultPieDataset();
        ds.setValue("Empleado: " + empleado + "%", empleado);
        ds.setValue("Desempleado: " + desempleado + "%", desempleado);
        ds.setValue("Independiente: " + independiente + "%", independiente);
        ds.setValue("Empresario: " + empresario + "%", empresario);

        JFreeChart jf = ChartFactory.createPieChart3D("Reporte de egresados por tipo de ocupacin", ds, true,
                true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 50, 720, 350);

        jPanelEgresadosPorOcup.add(panel);

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

}

From source file:udea.edu.com.co.grafico.Graficas.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    ChartPanel panel;
    JFreeChart chart = null;//from  w w  w .j a va 2s  .c  o  m
    //GRAFICO DE LINEAS
    int validar = 1;
    XYSplineRenderer renderer = new XYSplineRenderer();
    XYSeriesCollection dataset = new XYSeriesCollection();

    ValueAxis x = new NumberAxis();
    ValueAxis y = new NumberAxis();

    XYSeries serie = new XYSeries("Datos");

    XYPlot plot;
    lineas.removeAll();
    try {
        if (columnaX != null && columnaY != null) {
            B0 = Calculos.calcularBetaCero(columnaX, columnaY);
            B1 = Calculos.calcularBetaUno(columnaX, columnaY);
            double r = Calculos.calcularR(columnaX, columnaY);
            double[][] resultados = Calculos.calcularYkEnFuncionDeXk(columnaX, B0, B1);
            for (int i = 0; i < resultados.length; i++) {
                serie.add(resultados[1][i], resultados[0][i]);
            }

            B0 = Calculos.roundDouble(B0, 4);
            B1 = Calculos.roundDouble(B1, 4);
            r = Calculos.roundDouble(r, 4);
            double rCuadrado = Calculos.roundDouble(pow(r, 2), 4);

            this.textBeta0.setText(String.valueOf(B0));
            this.textBeta1.setText(String.valueOf(B1));
            this.textErreXY.setText(String.valueOf(r));
            this.textErre2.setText(String.valueOf(rCuadrado));

            this.labelYk1.setVisible(true);
            this.textYk.setVisible(true);
            this.btnCalcularYk.setVisible(true);
        }
    } catch (Exception ex) {
        validar = 0;
    }
    if (validar == 1) {
        dataset.addSeries(serie);
        x.setLabel("Eje X");
        y.setLabel("Eje Y");
        plot = new XYPlot(dataset, x, y, renderer);
        chart = new JFreeChart(plot);
        chart.setTitle("Y = " + String.format("%.3f", B0) + " + " + String.format("%.3f", B1) + "X");
    } else {
        JOptionPane.showMessageDialog(this, "Debe llenar la tabla con datos numericos");
    }
    panel = new ChartPanel(chart);
    panel.setBounds(5, 10, 410, 350);
    lineas.add(panel);
    lineas.repaint();
}

From source file:gui.Trabajadores.java

public void GPNosin() {
    ChartPanel panel;
    JFreeChart chart = null;/*from  ww  w.  j a va  2  s  . c o m*/
    String m = "";
    String f = "";
    DefaultPieDataset datos = new DefaultPieDataset();
    dtm2 = (DefaultTableModel) tablaNoSin.getModel();
    f = tablaNoSin.getValueAt(0, 1).toString();
    m = tablaNoSin.getValueAt(1, 1).toString();
    datos.setValue("Masculino", Integer.parseInt(m));
    datos.setValue("Femenino", Integer.parseInt(f));
    chart = ChartFactory.createPieChart3D("Grafico No Sindicalizados", datos, true, true, true);
    panel = new ChartPanel(chart);
    panel.setBounds(5, 5, 350, 350);
    PastelNosin.setVisible(true);
    capas.setLayer(PastelNosin, 0, 0);
    PastelNosin.add(panel);
    PastelNosin.repaint();
}

From source file:co.edu.eam.ingesoft.egresados.vista.gui.VentanaReporteEgresadosOcupacion.java

private void btnGenerarActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnGenerarActionPerformed
    // TODO add your handling code here:
    System.out.println((Programa) cbPrograma.getSelectedItem());
    ChartPanel panel;
    try {//from ww w  . jav  a2  s  .  c o m
        Programa p = (Programa) cbPrograma.getSelectedItem();
        List<InformacionLaboral> listaInfoLab = controlador.listarInformacionLaboralPorPrograma(p);
        jPPrimero.removeAll();
        jPSegundo.removeAll();
        double empleado = 0;
        double desempleado = 0;
        double independiente = 0;
        double empresario = 0;
        System.out.println((Programa) cbPrograma.getSelectedItem());
        int contadorEmpleado = 0;
        int contadordDesempleado = 0;
        int contadorIndependiente = 0;
        int contadorEmpresario = 0;

        for (int i = 0; i < listaInfoLab.size(); i++) {
            if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.EMPLEADO)) {
                contadorEmpleado++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.DESEMPLEADO)) {
                contadordDesempleado++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.INDEPENDIENTE)) {
                contadorIndependiente++;
            } else if (listaInfoLab.get(i).getSituacionAct().equals(SituacionLaboralEnum.EMPRESARIO)) {
                contadorEmpresario++;
            } else {
                JOptionPane.showMessageDialog(null, "No hay empleados registrados");
            }

            empleado = (contadorEmpleado * 100) / listaInfoLab.size();
            desempleado = (contadordDesempleado * 100) / listaInfoLab.size();
            independiente = (contadorIndependiente * 100) / listaInfoLab.size();
            empresario = (contadorEmpresario * 100) / listaInfoLab.size();
        }
        DefaultPieDataset ds = new DefaultPieDataset();
        ds.setValue("Empleado: " + empleado + "%", empleado);
        ds.setValue("Desempleado: " + desempleado + "%", desempleado);
        ds.setValue("Independiente: " + independiente + "%", independiente);
        ds.setValue("Empresario: " + empresario + "%", empresario);

        JFreeChart jf = ChartFactory.createPieChart3D("Reporte de egresados por tipo de ocupacin", ds, true,
                true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 50, 280, 280);

        jPSegundo.removeAll();
        jPSegundo.add(panel);
        jPSegundo.updateUI();

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:co.edu.eam.dinesoft.egresados.vista.gui.VentanaReportes.java

/**
 * Grafica de pastel/*from  ww w. j  a va 2  s .c  o  m*/
 */
public void reporteEgresadosOcupacion() {
    ChartPanel panel;
    try {
        List<InformacionLaboral> listaInfoLab = controlador.listarInfoLab();

        double empleado = 0;
        double desempleado = 0;
        double independiente = 0;
        double empresario = 0;

        int contadorEmpleado = 0;
        int contadordDesempleado = 0;
        int contadorIndependiente = 0;
        int contadorEmpresario = 0;

        if (listaInfoLab.size() == 0) {
            JOptionPane.showMessageDialog(null, "No hay egresados registrados");
        }

        for (InformacionLaboral informacionLaboral : listaInfoLab) {
            if (informacionLaboral.getSituaActual().equals(SituacionActual.EMPLEADO)) {
                contadorEmpleado++;
            } else if (informacionLaboral.getSituaActual().equals(SituacionActual.DESEMPLEADO)) {
                contadordDesempleado++;
            } else if (informacionLaboral.getSituaActual().equals(SituacionActual.INDEPENDIENTE)) {
                contadorIndependiente++;
            } else if (informacionLaboral.getSituaActual().equals(SituacionActual.EMPRESARIO)) {
                contadorEmpresario++;
            }

            empleado = (contadorEmpleado * 100) / listaInfoLab.size();
            desempleado = (contadordDesempleado * 100) / listaInfoLab.size();
            independiente = (contadorIndependiente * 100) / listaInfoLab.size();
            empresario = (contadorEmpresario * 100) / listaInfoLab.size();
        }
        DefaultPieDataset ds = new DefaultPieDataset();
        ds.setValue("EMPLEADO: " + empleado + "%", empleado);
        ds.setValue("DESEMPLEADO: " + desempleado + "%", desempleado);
        ds.setValue("INDEPENDIENTE: " + independiente + "%", independiente);
        ds.setValue("EMPRESARIO: " + empresario + "%", empresario);

        JFreeChart jf = ChartFactory.createPieChart3D("Reporte de egresados por tipo de ocupacin", ds, true,
                true, true);

        panel = new ChartPanel(jf);
        panel.setBounds(20, 50, 720, 350);

        jPGrafica.add(panel);

    } catch (Exception e) {
        // TODO: handle exception
    }

}