Enviando a Saída (System.out.println) para um jTextArea

Olá Pessoal,

Mais uma Dúvida!

Ví vários posts de como transformar um TextArea em um Console, mas não sei se esses casos se aplicam à minha situação. Quero “jogar” a sáida de uma consulta ao banco em um TextArea. Segue abaxo o trecho de código.

    private void btPesquisarActionPerformed(java.awt.event.ActionEvent evt) {
        query = "select distinct(dat_emissao), count(flg_receita) from cadcvend where "
                + "dat_emissao between '" + tfDataInicial + "' and '" + tfDataFinal + "' and flg_receita='" + receita + "' and flg_excluido is null "
                + "group by dat_emissao order by dat_emissao";

        total = "select count(flg_receita) from cadcvend where dat_emissao between '" + tfDataInicial + "' "
                + "and '" + tfDataFinal + "' and flg_receita='" + receita + "' and flg_excluido is null";

        try {
            Class.forName("org.postgresql.Driver");
            con = DriverManager.getConnection(url, user, senha);
            Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            ResultSet rst = null;
            if(receita.equals("1")|| receita.equals("2"))
                rst = stmt.executeQuery(query);
            else if(receita.equals("is not null"))
                rst = stmt.executeQuery(total);

            if (rst.first()) {

                if (receita.equals("1")) {
                    System.out.println("");
                    System.out.println("Receitas SUS");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    while (rs.next()) {
                        System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stm.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas SUS: " + result.getInt("count"));
                        con.close();
                    }
                } else if (receita.equals("2")) {
                    System.out.println("");
                    System.out.println("Receitas Particulares");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    while (rs.next()) {
                        System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stm.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas Particulares: " + result.getInt("count"));
                        con.close();
                    }
                } else if (receita.equals("is not null")) {
                    System.out.println("");
                    System.out.println("Total de Receitas");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    while (rs.next()) {
                        System.out.println(rs.getString("dat_emissao") + "\t\t" + rs.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stm.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas SUS e Particulares: " + result.getInt("count"));
                        con.close();
                    }
                } else {
                    System.out.println("Não Consegui Pegar os Dados!");
                }

            } else {
                System.out.println("Não Foi possivel localizar os dados");
            }

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

        } catch (SQLException e) {
            e.printStackTrace();
        }
        jTextArea1.append("..."); // QUERO COLOCAR MEU rst AQUI!!!!!!
    }

Esse código roda uma beleza no console, mas migrei a aplicação para Swing e preciso de ajuda.

Obrigado Galera!!!

Uma forma boboca de fazer isso é usar um StringWriter. Exemplo:

StringWriter sw = new StringWriter();
PrintWriter out = new PrintWriter (sw);
out.println ("Hello");
out.println ("World");
textArea.setText (sw.toString());

Gente, presiso de algo mais concreto para a minha situação. Não quero imprimir apenas uma linha no textArea e sim várias linhas. Como já disse antes, vi vários códigos na NET mas não sei como aplicar na minha situação. Se alguém tiver mais alguma dica, por favor pronuncie-se!!! Obrigado!!!

PS. Houve algumas mudanças no cógido original. Segue abaixo o novo código, funcionando, porém com a saída no console padrão.

    private void btPesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                            

        try {
            Class.forName("org.postgresql.Driver");
            con = DriverManager.getConnection(url, user, senha);
            Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            if (receita.equals("1") || receita.equals("2")) {
                query = "select distinct(dat_emissao), count(flg_receita) from cadcvend where "
                        + "dat_emissao between '" + tfDataInicial.getText() + "' and '" + tfDataFinal.getText() + "' and flg_receita='" + receita + "' and flg_excluido is null "
                        + "group by dat_emissao order by dat_emissao";

                total = "select count(flg_receita) from cadcvend where dat_emissao between '" + tfDataInicial.getText() + "' "
                        + "and '" + tfDataFinal.getText() + "' and flg_receita='" + receita + "' and flg_excluido is null";
            } else if (receita.equals("3")) {
                query = "select distinct(dat_emissao), count(flg_receita) from cadcvend where "
                        + "dat_emissao between '" + tfDataInicial.getText() + "' and '" + tfDataFinal.getText() + "' and flg_receita is not null and flg_excluido is null "
                        + "group by dat_emissao order by dat_emissao";

                total = "select count(flg_receita) from cadcvend where dat_emissao between '" + tfDataInicial.getText() + "' "
                        + "and '" + tfDataFinal.getText() + "' and flg_receita is not null and flg_excluido is null";

            }
            ResultSet rst = stmt.executeQuery(query);

            if (rst.first()) {

                if (receita.equals("1")) {
                    System.out.println("");
                    System.out.println("Receitas SUS");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    while (rst.next()) {
                        System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stmt.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas SUS: " + result.getInt("count"));
                        con.close();
                    }
                } else if (receita.equals("2")) {
                    System.out.println("");
                    System.out.println("Receitas Particulares");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    while (rst.next()) {
                        System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stmt.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas Particulares: " + result.getInt("count"));
                        con.close();
                    }
                } else if (receita.equals("3")) {
                    System.out.println("");
                    System.out.println("Total de Receitas");
                    System.out.println("Data\t\t\tQuantidade");
                    System.out.println("-----------------------------------------------------");
                    System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    while (rst.next()) {
                        System.out.println(rst.getString("dat_emissao") + "\t\t" + rst.getInt("count"));
                    }
                    System.out.println("-----------------------------------------------------");
                    ResultSet result = stmt.executeQuery(total);
                    if (result.first()) {
                        System.out.println("Total de Receitas SUS e Particulares: " + result.getInt("count"));
                        con.close();
                    }
                } else {
                    System.out.println("Não Consegui Pegar os Dados!");
                }

            } else {
                System.out.println("Não Foi possivel localizar os dados");
            }

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

        } catch (SQLException e) {
            e.printStackTrace();
        }
        jTextArea1.append("..."); // É AQUI QUE QUERO "JOGAR" A SAÍDA DO MEU PROGRAMA!!!!
    }                                           

Será que uma saída seria “jogar” todo o código acima em um método específico e depois chamá-lo dentro do meu jTextArea???
Realmente Estou Mais Perdido que CEGO em Tiroteio … Descendo a Ladeira … Esrarrerado por um Cachorro …
Mais uma Vez Obrigado aos Colegas!!!

E o que o entanglement postou não funciona não??

No lugar dos seus “System.out.println()” vc coloca o “out.println()”.
Isso adiciona mais que uma linha.

Se não funciona, tente usar o StringBuilder, mas acho que é a mesma coisa.

felipeaps,

Acho que me expressei “mal”!!! o código postado funciona, mas a saída é no console Padrão. O que eu quero é que o resultado da minha consulta seja impresso dentro de um jTextArea da mesma forma que é impresso no console ou no prompt do DOS. Vi alguns códigos que utilizam OutputStreem (java.io) e System.setOut(PrintStream) mas como ainda sou iniciante, tenho algumas restrições e limitações em utilizar algumas classes do Java, então, estou com dificuldades de implementar esse recurso no meu programa. Se mais alguém puder ajudar eu agradeço!

Amigo, usa o StringBuilder para montar seu texto e no fom use o metodo setText() do TextArea.
Acredito que vá funcionar…algo parecido com o codigo abaixo

StringBuilder bd = new StringBuilder();
bd.append("abc");
bd.append("def");
		
JTextArea area = new JTextArea();
area.setText(bd.toString());
// demais confgs do textarea

[quote=rolipam]felipeaps,

Acho que me expressei “mal”!!! o código postado funciona, mas a saída é no console Padrão. O que eu quero é que o resultado da minha consulta seja impresso dentro de um jTextArea da mesma forma que é impresso no console ou no prompt do DOS. Vi alguns códigos que utilizam OutputStreem (java.io) e System.setOut(PrintStream) mas como ainda sou iniciante, tenho algumas restrições e limitações em utilizar algumas classes do Java, então, estou com dificuldades de implementar esse recurso no meu programa. Se mais alguém puder ajudar eu agradeço![/quote]

Mas foi isso que eu te falei. Substitui todos os seus System.out.println() por out.println() igual ao exemplo do entanglement!

Galera,

Vai desculpando a minha “IGNORÂNCIA” aí!!! Fiz o que "entanglement " sugeriu e funciou beleza!!! Acho que tô precisando estudar um pouco mais antes de me meter a fazer essas “Maluquices”. Afinal de Contas … Não sou estudante de ciências da computação, não sou programador profissional. Sou apenas um FARMACÊUTICO que se interessou por Java!!! Estou estudando em casa, por meio de um vasto material de encontrei na NET. Os únicos cursos que fiz para iniciar nesse ramo foram os de Lógica de Programação e SQL da Softblue. O resto é tudo na base de apostilas (prinipalmente da CAELUM FJ-11 e FJ-21) e video aulas do Youtube (nerineitzke e kurtphpr) MXMasters e Video Aulas Brasil, além do curso Java Starter da T2Ti e algumas aulas da Iniciativa JEDI (módulos 1 e 2). Graças a DEUS existem os FÓRUNS pra gente tirar nossas DÚVIDAS com quem Sabe MAIS que agente, e ainda bem que a comunidade JAVA é bastante unida!!!

Mais uma Vez … Obrigado a TODOS do FÓRUM que me ajudaram!!!