Dúvida JTextArea

0 respostas
W

Na classe abaixo, gostaria de mostar a JTextArea a mensagem cfe. linha abaixo, durante a execução do arquivo teste.bat, mas só aparece no JtextArea depois que termina de executar o arquivo, daí parecem todas as 94 linhas de uma vez. Alguém sabe como resolver?

saidaTexto.append("Aguarde copiando arquivo: “ + arquivo + " 94 " + line + newline);

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;

import java.lang.Long;

import java.awt.BorderLayout;

import java.lang.Exception;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.lang.String;

import javax.swing.JTextArea;
public class JTextoSaida extends JPanel implements ActionListener {

private JButton BCopiar;

public String line = null;

public JTextArea saidaTexto;

public String newline = \n;

private Frame frame;

private Panel panel;

private Panel panel1;

JScrollPane scroller;
public JTextoSaida(String title) {

    frame = new Frame(title);
    BCopiar = new JButton("Iniciar Cópia" );
    saidaTexto = new JTextArea(100, 120);
    saidaTexto.setMargin(new Insets(20, 20, 20, 20));
    saidaTexto.setEditable(false);
    saidaTexto.setCursor(null);
    panel = new Panel();


   }

public void Copiar (){

int arquivo = 1;
         Process process = null;
         try {



           process = Runtime.getRuntime().getRuntime()
           .exec("\\teste\\java\\teste.bat");
            BufferedReader in =
            new BufferedReader(new InputStreamReader(process.getInputStream()));

             while ((line = in.readLine()) != null) {
                 saidaTexto.append("Aguarde copiando arquivo: “    +  arquivo + "  94  "  + line  + newline);
                 arquivo = (arquivo + 1);
                 System.out.println(arquivo);
            }
          }catch (Exception e) {
         System.out.println("Problema na copia: " +e.toString());
        }

         JOptionPane.showMessageDialog(null, "Copia finalizada", " OK PARA SAIR",
         JOptionPane.INFORMATION_MESSAGE );

         System.exit( 0 );  // terminate the application

         }
public void actionPerformed(ActionEvent evt) {

BCopiar.setEnabled(false);

setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

Copiar();

}
public void createAndShowGUI() {

    frame.setSize(400,400);
    BCopiar.setActionCommand("copiar");
    BCopiar.addActionListener(this);
    saidaTexto.setMargin(new Insets(10,10, 10,10));
    saidaTexto.setCursor(null);
    panel.setSize(100,100);

     panel.setLayout(new BorderLayout());
     panel.add(BCopiar, BorderLayout.NORTH);
    frame.add(panel, BorderLayout.CENTER);

    panel.add(new JScrollPane(saidaTexto), BorderLayout.CENTER);
    frame.setVisible(true);

}



     public static void main(String[] args) {

     JTextoSaida texto = new JTextoSaida("TESTE");
     texto.createAndShowGUI();
}

}

Criado 24 de junho de 2005
Respostas 0
Participantes 1