Example usage for org.jfree.chart ChartPanel addPropertyChangeListener

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

Introduction

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

Prototype

public void addPropertyChangeListener(PropertyChangeListener listener) 

Source Link

Document

Adds a PropertyChangeListener to the listener list.

Usage

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;/* w  w  w  .  j a  va  2s .  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;
}