Fluxo de Caixa com AbstractTableModel?

2 respostas
fernandopaiva

Salve galera

Seguinte, to montando um “Fluxo de Caixa” e queria colocar as colunas com os meses do ano e assim trazer o fluxo referente ao mes na coluna do mes, estou pensando uma maneira de como fazer isso com AbsctractTableModel mas nao sei como fazer.

Pensei em algo assim.

String[] entradasMeses = {“Janeiro”,“Fevereiro”,“Março” etc…}

O fato é q naum sei como colocar em colunas apenas as informacoes do mes referente.

Espero q entendam o que preciso

algo desse tipo: http://www.clube-do-dinheiro.com/wp-content/images/fluxo_de_caixa.jpg

obrigado.

2 Respostas

charleston10

Cria um JCombo para guardar os critérios de filtragem, como:

Receitas
Despesas
Lucro
Caixa

E outro JCombo para guardar os critérios de filtragem referentes ao meses do ano:

Jan | Fev | Mar | Ab | Mai | ...

Assim o usuário precisa só escolher o que deseja ver, filtrando os resultados pelo JCombo escolhendo o mes tambem;

Ex.: Quero visualizar todas as receitas, então eu devo clicar no Filtra, escolher uma opção, e logo vai aparecer nas colunas os resultados;

:D

Da para listar os dados numa JTable atraves de uma tabela default, assim:

private void ListarProdutos(){
        Banco.sSQL = "SELECT * FROM DESPESAS";
        
         //Cria uma tabela default
        DefaultTableModel dtm = (DefaultTableModel)jtbLista.getModel();

        //Apaga dados da tabela Default
        dtm.setNumRows(0);

        //Adiciona todos os registros selecionados na grade
        try{

            Statement sta = Banco.cnn.createStatement();
            ResultSet res = sta.executeQuery(Banco.sSQL);

            //Pega todos os produtos adicionados na lista
            while (res.next()){
                Object[] linhas=
                    {
                        res.getFloat("VALOR"),
                        res.getString("MES"),
                        
                    };

                    //tabela default recebe os valores obtidos da variavel linha
                    dtm.addRow(linhas);

                    //Lista recebe a tabela default                    
                    jtbLista.setModel(dtm);                    
            }
            //efetua a mudança na tabela
            dtm.fireTableStructureChanged();
            
            //manipula a largura das colunas
            jtbLista.getColumnModel().getColumn(0).setPreferredWidth(1);
            jtbLista.getColumnModel().getColumn(1).setPreferredWidth(350);

        }catch(SQLException erro){
            JOptionPane.showMessageDialog(rootPane, erro);
        }
    }
fernandopaiva
charleston10:
Cria um JCombo para guardar os critérios de filtragem, como:

Receitas
Despesas
Lucro
Caixa

E outro JCombo para guardar os critérios de filtragem referentes ao meses do ano:

Jan | Fev | Mar | Ab | Mai | ...

Assim o usuário precisa só escolher o que deseja ver, filtrando os resultados pelo JCombo escolhendo o mes tambem;

Ex.: Quero visualizar todas as receitas, então eu devo clicar no Filtra, escolher uma opção, e logo vai aparecer nas colunas os resultados;

:D

Da para listar os dados numa JTable atraves de uma tabela default, assim:

private void ListarProdutos(){
        Banco.sSQL = "SELECT * FROM DESPESAS";
        
         //Cria uma tabela default
        DefaultTableModel dtm = (DefaultTableModel)jtbLista.getModel();

        //Apaga dados da tabela Default
        dtm.setNumRows(0);

        //Adiciona todos os registros selecionados na grade
        try{

            Statement sta = Banco.cnn.createStatement();
            ResultSet res = sta.executeQuery(Banco.sSQL);

            //Pega todos os produtos adicionados na lista
            while (res.next()){
                Object[] linhas=
                    {
                        res.getFloat("VALOR"),
                        res.getString("MES"),
                        
                    };

                    //tabela default recebe os valores obtidos da variavel linha
                    dtm.addRow(linhas);

                    //Lista recebe a tabela default                    
                    jtbLista.setModel(dtm);                    
            }
            //efetua a mudança na tabela
            dtm.fireTableStructureChanged();
            
            //manipula a largura das colunas
            jtbLista.getColumnModel().getColumn(0).setPreferredWidth(1);
            jtbLista.getColumnModel().getColumn(1).setPreferredWidth(350);

        }catch(SQLException erro){
            JOptionPane.showMessageDialog(rootPane, erro);
        }
    }

Opa, eu uso AbstractTableModel, inclusive recomendo a vc o uso e abandonar o DefaultTableModel....Bem, realmente com JCombo faria isso facilmente, mas eu gostaria de fazer isso usando diretamente o meu modelo e naum com componentes adicionais, naum sei se tem como fazer isso estou na procura se encontrar posto aqui.

Obrigado pela atenção.

Criado 16 de janeiro de 2012
Ultima resposta 16 de jan. de 2012
Respostas 2
Participantes 2