Settext em um campo de texto

4 respostas Resolvido
java
A

tenho um painel de texto onde quero imprimir as informações contidas em um arquivo .txt, porem quando fasso " minhavariavel.settext(variavel_impressão) só aparece a ultima linha

esse aqui é o meu codigo da leitura do arquivo

public class LeituraDeArquivo {

public String Escrita;

public void busca() {
try {
        // Criar objeto File com o caminho do arquivo
        File arquivo = new File("ABASTECERPLAINA.txt");

        // Criar objeto FileReader para ler o arquivo
        FileReader leitor = new FileReader(arquivo);

        // Criar objeto BufferedReader para ler o arquivo linha por linha
        BufferedReader buffer = new BufferedReader(leitor);

        // Ler cada linha do arquivo e imprimir no console
        String linha;
        while ((linha = buffer.readLine()) != null) {
             this.Escrita = linha;
            System.out.println(linha);
            this.Escrita = linha;
            TelaPrincipal.jTextPane1.setText(linha);
        }

        // Fechar recursos de leitura do arquivo
        buffer.close();
        leitor.close();

    } catch (IOException e) {
        System.out.println("Erro ao ler o arquivo: " + e.getMessage());
    }
}

}

coloquei um system.out.println para verificar se estava realmente lendo todo o arrquivo e sim está

porem quando dou o .settext no painel de texto, só imprime a ultima linha
o que fazer?

4 Respostas

S

É que a cada linha você estra trocando o texto do componente pela linha lida.

Vai concatenado as linhas lidas em um StringBuilder e depois joga o conteúdo do StringBuilder para o componente.

A

Você teria um exemplo de codigo

S
Solucao aceita

Nem ao menos tentou fazer?

StrinBuilder texto = new StringBuilder ();
        while ((linha = buffer.readLine()) != null) {
             texto.append(linha).append("\n");
        }
        TelaPrincipal.jTextPane1.setText(texto.toString())

Outra coisa, está errado o seu jTextPane1 ser static.

A

bom dia, eu ainda estou no inicio, consegui fazer sim, peguei o seu cod de base e ajustei para o que eu precisava, grato pela sua ajuda

Criado 15 de fevereiro de 2023
Ultima resposta 16 de fev. de 2023
Respostas 4
Participantes 2